Вы были на правильном пути. Я не уверен, почему это не сработало для вас, поскольку ваш код содержит опечатку, которая вызвала бы ошибку } expected
. Вот что вы ищете:
<%= Html.ActionLink("Test Link", "SomeAction", "SomeController",
null, new {id = "someID" }) %>
Который производит следующий HTML:
<a href="/SomeController/SomeAction" id="someID">Test Link</a>
Редактировать: Я только что понял, в чем проблема, потому что я неправильно прочитал то, что вы пытались. Вы используете неправильную перегрузку для передачи элемента id
html. Вероятно, вы передаете параметр new { id="blah" }
в параметр routeValues
, что приведет к его использованию при создании ссылки на маршрут, а не к параметру htmlAttributes
, который вам нужен.
Я думаю, что вы используете:
ActionLink(string linkText, string actionName, Object routeValues,
Object htmlAttributes)
Когда вам нужно использовать следующую перегрузку, как я делал выше в своем ответе:
ActionLink(string linkText, string actionName, string controllerName,
Object routeValues, Object htmlAttributes)
, который гарантирует, что new { id="blah" }
передается в htmlAttributes
параметр.