Ресурс не может быть найден(сначала MVC-код).
Я создаю простое веб-приложение с использованием MVC(Code first) Которые состоят из двух страниц, одна из которых позволяет администратору добавлять категорию и ее описание, а другая-выбирать категорию и вставлять статус в эту конкретную категорию.Когда я запускаю страницу состояния, я получаю ошибку 404: ресурс не может быть найден.
Вставка категории работает правильно, но я получаю ошибку на странице состояния.
Что я уже пробовал:
Вот конфигурационный файл my Route:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //routes.MapRoute( // name: "Default", // url: "{controller}/{action}/{id}", // defaults: new { controller = "Category", action = "CreateCategory", id = UrlParameter.Optional } //); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Status", action = "StatusList", id = UrlParameter.Optional } ); }Я пытался
project name>Properties>Web>Specific
страница, но все же я получаю ту же ошибку.
Nathan Minier
Routeconfig полезен только частично. А как насчет кода для вашего StatusController?
Kalpesh Khandla
использование системы;
использование системы.Коллекции.Общий;
Код для моего StatusController :
использование System. Linq;
использование системы.Сеть;
использование System. Web.Mvc;
использование Статускрафта.Модели;
использование Статускрафта.Услуга;
пространство имен StatusCraft.Контроллеры
{
публичный класс StatusController : Controller
{
StatusServices StaServices = новые StatusServices();
//
// Получить: / статус/
public ActionResult CreateStatus(int? StatusId)
{
if (StatusId = = null)
{
возвращение смотреть();
}
ещё
{
return View(StaServices.GetStatusByStatusID (Конвертировать.ToInt32(StatusId)));
}
}
[HttpPost]
public ActionResult CreateStatus(StatusMasterModel status, int? StatusId)
{
if (StatusId = = null)
{
пробовать
{
статус.CreatedBy = 1;
Стасервисы.AddStatus(статус);
ViewBag. msg = " вставить успешно";
ModelState.Четкий();
}
поймать (исключение бывший)
{
ViewBag.МСГ = ех.Метод toString();
}
возвращение смотреть();
}
ещё
{
Варе состояние обновления = StaServices.GetStatusByStatusID (Конвертировать.ToInt32(StatusId));
состояние обновления.StatusName = статус.StatusName;
состояние обновления.CategoryId = статус.CategoryId;
состояние обновления.UpdatedBy = 1;
состояние обновления.IsActive = статус.Метод isactive;
состояние обновления.IsDeleted = статус.IsDeleted;
Стасервисы.Состояние обновления(состояние обновления);
return RedirectToAction ("StatusList");
}
}
public ActionResult StatusList()
{
return View(StaServices.GetStatusList());
}
}
}
Nathan Minier
Это выглядит правильно.
У вас есть файл /Views/Status/StatusList.cshtml в проекте? Это настройка, чтобы взять ваш тип модели?
Kalpesh Khandla
Да, есть statusList.cshtml и выглядит так, как показано ниже :
модель интерфейс IEnumerable&л@; statuscraft.модели.statusmastermodel&ГТ;
@{
Видовая сумка.Title = " Список Статусов";
Layout = " ~ / Views/Shared/_AdminLayout.cshtml";
}
StatusList
@формат HTML.ActionLink ("Создать Новый", " Создать")
@по каждому элементу (ВАР деталь в модели) {
}
@HTML-код.DisplayNameFor(модель =&ГТ; модель.Категория.Категория)
@HTML-код.DisplayNameFor(модель =&ГТ; модель.StatusName)
@HTML-код.DisplayNameFor(модель =&ГТ; модель.Создано)
@HTML-код.DisplayNameFor(модель =&ГТ; модель.CreatedDate)
@HTML-код.DisplayNameFor(модель =&ГТ; модель.UpdatedBy)
@HTML-код.DisplayNameFor(модель =&ГТ; модель.UpdatedDate)
@HTML-код.DisplayNameFor(модель =&ГТ; модель.IsDeleted)
@HTML-код.DisplayNameFor(модель =&ГТ; модель.Метод isactive)
@Html. DisplayFor(modelItem = & gt; item.Категория.Категория)
@Html. DisplayFor(modelItem = & gt; item.StatusName)
@Html. DisplayFor(modelItem = & gt; item.Создано)
@Html. DisplayFor(modelItem = & gt; item.CreatedDate)
@Html. DisplayFor(modelItem = & gt; item.UpdatedBy)
@Html. DisplayFor(modelItem = & gt; item.UpdatedDate)
@Html. DisplayFor(modelItem = & gt; item.IsDeleted)
@Html. DisplayFor(modelItem = & gt; item.Метод isactive)
@формат HTML.Actionlink панели("редактирование", "редактирование", новый { ИД=товар.StatusId }) |
@формат HTML.Actionlink панели("подробности", "Подробности", новый { ИД=товар.StatusId }) |
@формат HTML.Actionlink панели("удалить", "удалить", новый { ИД=товар.StatusId })
Nathan Minier
Ваш трубопровод выглядит правильно. Боюсь, все, что я могу предложить на данный момент, - это убедиться, что IIS Express делает правильные вещи. Извини, что больше ничем не могу тебе помочь.
F-ES Sitecore
Каков url-адрес страницы, которая не работает?
Kalpesh Khandla
Он находится на моем локальном компьютере и URL-адрес выглядит следующим образом
http://localhost:2870/Status/CreateStatus или список статусов