Странный Html.ActionLink() Поведение после обновления до бета-версии 1

StackOverflow https://stackoverflow.com/questions/378774

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top