Ответ 1
или вы можете использовать
new { data_customattribute="value" }
и компилятор достаточно умен, чтобы узнать, что вы имеете в виду
HTML5 позволяет использовать пользовательские атрибуты с префиксом фразы "данные", которые проходят проверку без использования пользовательского DTD (подробнее). В Asp.Net MVC есть ли способ указать ActionLink с атрибутом данных?
Типичным методом добавления атрибутов в ActionLink является передача анонимного объекта с настраиваемым свойством для каждого объекта:
new { customattribute="value" }
Мне бы хотелось:
new { data-customattribute="value" }
Но это не работает, потому что символ дефиса недействителен в именах свойств. Есть ли способ обойти это ограничение? Или мне просто нужно выбирать между использованием ActionLinks и использованием атрибутов данных?
или вы можете использовать
new { data_customattribute="value" }
и компилятор достаточно умен, чтобы узнать, что вы имеете в виду
Да, существует перегрузка для метода ActionLink
, который вместо <анонимного > объекта принимает IDictionary<string,object>
.
<%=Html.ActionLink("text", "Index", "Home", null /*routeValues*/,
new Dictionary<string, object> {
{ "data-customattribute", "value" },
{ "data-another", "another-value" }
})%>
Выходы:
<a data-another="another-value" data-customattribute="value" href="/">text</a>