Странный Html.ActionLink() Поведение после обновления до бета-версии 1
-
22-08-2019 - |
Вопрос
Я обновил большое ASP.NET Приложение MVC, над которым я работал, до последней бета-версии сегодня, и после некоторых первоначальных проблем оно в основном снова работает.Большая проблема в том, что у меня есть такие вещи, как это:
<%= Html.ActionLink("LOGIN", "Index", "Authorization", new { redirect=Request.Url })%>
и
<%= Html.ActionLink("Edit this page", "Edit", "Webpages", new { id = wp.Id })%>
Которые отображают ссылки как:
http://localhost:60321/calendar/edit?Length=8
Хотя и с разной "Длиной". Я понятия не имею, почему это происходит;это похоже на то, что мои таблицы маршрутов полностью сошли с ума."calendar/edit /{id}" - допустимый маршрут, но он примерно четвертый в списке.Раньше они работали безукоризненно.
Я здесь как бы на пределе своих возможностей, пытаясь понять, что происходит...Текст ссылки отображается идеально;это просто URL-адрес некоторые некоторые из вызовов ActionLink, которые у меня есть, не работают.Некоторые из них работают нормально.Вот пример того, что работает нормально:
<%= Html.ActionLink("ADMIN", "Index", "ControlPanel") %>
Любая помощь была бы высоко оценена!
Решение
Глядя на сигнатуры методов в ActionLink, похоже, что они изменились, и это соответствует следующему:
ActionLink( string linkText, string action,
object values, object htmlAttributes );
Я бы попробовал добавить null htmlAttributes в конец тех, которые не работают, чтобы он использовал этот:
ActionLink( string linkText, string action, string controller,
object values, object htmlAttributes );
Это выглядело бы как:
<%= Html.ActionLink("LOGIN",
"Index",
"Authorization",
new { redirect=Request.Url },
null )%>
Исходный код для MVC Beta 1 находится по адресу http://www.codeplex.com/aspnet (Сервер SCC, похоже, в данный момент не работает 18.12.2008 в 13:16 по восточному времени).Я нашел подписи с помощью intellisense.