Я получил контроллер (названный DeficienciesController) с помощью метода IndexASP.NET MVC 5, IIS Express 8 - не ударять индекс
public ActionResult Index(int? deficiencyReviewId)
{
return View();
}
Но когда я запустить приложение локально в IIS Express 8 не будет нажмите метод Index, вместо этого он получает код статуса 301, а браузер добавляет/к URL-адресу.
Странная вещь, когда я опубликовать сайт на веб-сервер, он работает прекрасно .. При использовании Html.ActionLink его тег выглядит следующим образом:
<a href="/Deficiencies">Deficiencies</a>
Так что я жду его сделать ссылку: http://localhost:49440/Deficiencies
Но когда я нажимаю его она меняется: http://localhost:49440/Deficiencies/
Второй S дает мне страницу «HTTP Error 403.14 - Forbidden», потому что она пытается просмотреть содержимое папки. Действие контроллера не активируется.
Если я добавляю маршрутизацию атрибутов к контроллеру и действию, все это отлично работает, Html.ActionLink находит правильный маршрут, но это не то, что я хочу.
Мой RouteConfig выглядит следующим образом:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
}
Действие Индекс единственное действие в контроллер, который не работает, другие действия, отлично работает.
Edit:
Я хотел бы вернуться с решением, но мой единственный рабочий раствор, чтобы это было вытащить проект из-источника управления на новое место, а затем удалить Int значение в действии. Затем работала страница Индекса. Затем я сделал новое действие, в котором был найден недостатокReviewId int. Поэтому я действительно не выяснил, в чем проблема, но это должна быть локальная проблема с моим компьютером, потому что мой коллега получил ее work ..
Попробуйте переименовать переменную defiencyReviewId в "id". – sprinter252
Я просто попробовал это. Я ожидал, что ActionLink с ID будет выглядеть так: http: //.../Deficiencies? Id = 9, но теперь он выглядит как http: //../Deficiencies/Index/9. Кроме того, страница без идентификатора все еще дает ошибку 403.14. –