Как добавить атрибуты данных в элемент HTML в ASP.NET MVC?
==========================================================

Я научился[несколько минут назад](https://stackoverflow.com/questions/1305734/is-it-ok-to-add-your-own-attributes-to-html-elements) что добавление атрибутов данных является хорошим способом добавления пользовательской информации в элементы HTML. Поэтому я попытался сделать так:

Но это заканчивается как синтаксическая ошибка. Как я могу определить пользовательские атрибуты данных?

РЕДАКТИРОВАТЬ:

Я вижу, что могу добиться этого эффекта, используя:

Но это нене выглядишь ... ммм ... чисто! Есть ли лучший способ сделать это?

Используйте**нижнее подчеркивание** вместо тире.

`new { data_myid = m.ID }`

это**определенно работает в MVC3** (Гавань»проверил другие версии). Подчеркивание будет преобразовано в тире при рендеринге HTML.

РЕДАКТИРОВАТЬ

Это работает и в последних версиях MVC.



Я могу'Не вижу способа получить объявление анонимного типа, чтобы принять`data-myid`, с тех пор'не является допустимым именем свойства в C #. Один из вариантов - создать новую перегрузку, которая потребует дополнительных`dataAttributes` параметр, и prepends`data-` на имена для вас ...

Затем вы можете добавить`data-myid` приписать

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

и назвать это как



Я думаю, вам придется создать свой собственный помощник, чтобы сделать это для вас. Я не могу найти способ сделать это непосредственно в представлении.



результаты: я

Я не уверен, в чем твоя проблема. Может иметь какое-то отношение к "-" в вашем анонимном типеимя свойства

Да, компилятор неМне не нравится ваше имя атрибута. Из комментариев, чтобы добавить html5-атрибуты данных, вы 'Вам придется использовать словарь или создать другое расширение, которое упрощает построение словарей.