У меня довольно специфическая проблема с маршрутизацией.
Возвращаясь к маршрутизации, не беспокоясь о ее конфигурации в течение года, я использую маршрут по умолчанию и игнорирую маршрут для ресурсов:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
// Route name
"{controller}/{action}/{id}",
// URL with parameters
new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
});
У меня есть RulesController
с действием для Index
и Lorem
и Index.aspx
, Lorem.aspx
в каталоге Views> Rules.
У меня есть ActionLink, нацеленный наПравила / Индекс на странице maseter:
<li><div><%: Html.ActionLink("linkText", "Index", "Rules")%></div></li>
Ссылка отображается как http://localhost:12345/Rules/
, и я получаю 404.
Когда я набираю Index
в URL, приложение перенаправляетэто к действию.
Когда я изменяю действие маршрута по умолчанию с "Index"
на "Lorem"
, ссылка действия отображается как http://localhost:12345/Rules/Index
с добавлением Index
, так как его больше нет на маршруте по умолчаниюи приложение правильно перенаправляет на действие Index.
Я использовал Phil Haack's Routing Debugger , но ввод URL-адреса http://localhost:12345/Rules/
также вызывает использование 404.
Я думаю, что я покрыл все ошибки новичка, релевантныеt ТАК вопросы и основные RTFM.
Я предполагаю, что «Правила» не являются каким-либо зарезервированным словом в маршрутизации.Кроме обновления маршрутов и их отладки, что я могу посмотреть?