Я изменил маршрут по умолчанию в ASP.NET MVC изASP.NET MVC 3 RC 2 Routing проблема
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
в
routes.MapRoute(
"Default",
"{controller}/{action}/{id}/{lineNo}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional, lineNo = UrlParameter.Optional });
но теперь все @ Html.ActionLink() звонки предоставляются to href = "". Если я изменю маршрут по умолчанию, все ссылки снова работают.
Я использовал тот же маршрут с RC1, и он отлично работал.
Я ничего не нашел в документах выпуска, поэтому я думаю, что делаю это неправильно.
С уважением, Штеффен
Это новое для RC2? – forki23
Не знаю. Возможно, он мог работать в предыдущих версиях, но это определение маршрута не имеет смысла, потому что, если идентификатор является необязательным, механизм маршрутизации не может устранить неоднозначность между параметрами id и lineNo. Возможно, это правило было соблюдено в RC2, что хорошо для ИМХО. –
Спасибо. Я разделил правило на две части, и теперь он отлично работает. – forki23