ASP.NET MVC - Добавление строки запроса "length =" в ActionLinks? - PullRequest
27 голосов
/ 22 апреля 2010

У меня есть несколько ссылок ActionLink, которые при рендеринге получают ключ длины / добавленное значение, которое указывает на количество символов в имени контроллера. Как это можно удалить?

Ответы [ 4 ]

44 голосов
/ 22 апреля 2010

Возможно, вы используете неправильную перегрузку Html.ActionLink и добавляете в параметры маршрута вместо атрибутов HTML. Вам нужно добавить NULL в качестве четвертого параметра, прежде чем указывать атрибуты HTML. Что-то вроде:

 Html.ActionLink("Title", "Action", "Controller", null ,new { title = "Title"} )

Опубликуйте свой код, если это не сработает.

3 голосов
/ 22 апреля 2010

вам нужно воткнуть дополнительный пустой объектный параметр перед htmlattributes, что-то вроде этого с моей головы

 html.actionlink("a","b","c",new {},new {@class = "d"})
2 голосов
/ 22 апреля 2010

Проверьте, используете ли вы правильную перегрузку для Html.ActionLink.

Они становятся хитрыми, потому что берут любые объекты, даже анонимные, и преобразуют их в словари значений маршрута или атрибуты html в зависимости от перегрузки.ваше использование.Так как он будет работать и хорошо скомпилироваться, если вы запутаете эти два, трудно определить, правильно ли вы используете перегрузку.

1 голос
/ 27 июня 2017

Если вы передаете 'routeValues',

Убедитесь, что для htmlAttributes установлено значение null.

 Html.ActionLink("Title", "Action", "Controller", new {}, null )

В противном случае выбрана неправильная перегрузка AcitonLink.

...