Удивительно ... почему к большинству моих ссылок в ASP.NET MVC добавлена ​​длина = 4? - PullRequest
8 голосов
/ 10 марта 2009

Почему следующий код:

<%= Html.ActionLink("[Click Here For More +]", "Work", "Home", new { @class = "more" }) %>

отображается как:

<a class="more" href="/Home/Work?Length=4">[Click Here For More +]</a> 

Откуда взято "Длина = 4"?

Обновление

Если я удалю new { @class = "more" }, я не получу этот параметр Length = 4.

Ответы [ 5 ]

12 голосов
/ 10 марта 2009

У меня было это раньше. Если вы посмотрите на перегрузку, которую вы на самом деле используете, вероятно, она не та, которую вы хотите.

Try ...

<%= Html.ActionLink("[Click Here For More +]", "Work", "Home", null, new { @class = "more" }) %>
5 голосов
/ 10 марта 2009

Я смотрю на перегрузки для ActionLink и изменил код так:

    <%= Html.ActionLink("[Click Here For More +]", "Work", "Home", null, new { @class = "more" }) %>

Добавлено значение "null" для значений маршрута. Это похоже на работу. Не уверен, однако, на что это может повлиять.

0 голосов
/ 12 марта 2009

Проблема длины = 4 выскочила для меня пару раз. Виновником обычно является неверный маршрут, либо в определении, либо по ссылке, которую я использую.

У меня есть привычка всегда проверять их дважды.

0 голосов
/ 10 марта 2009

Похоже на свойство DebuggerVisualizer! Но это не должно всплыть.

В любом случае «Длина = 4» выглядит подозрительно как массив (с 4 элементами) Используйте отладчик, чтобы найти виновника.

0 голосов
/ 10 марта 2009

Есть ли у вас значение по умолчанию для "длины" в одном из ваших маршрутов? Если выбран неправильный маршрут, используйте Html.RouteLink вместо ActionLink.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...