Добавить пользовательские атрибуты в таблицу, отображаемую с помощью WebGrid

Я использую MVC3 WebGrid и хочу добавить пользовательские атрибуты формы "данных ххх» к элемент, представленный.WebGrid.GetHtml()

Я попытался сделать это следующим образом:

grid.GetHtml(...
    htmlAttributes: new { data_xxx = "value" }
);

Однако это выглядит как:


вместо ожидаемого:


То есть в отличие от других помощников MVC, это неЗаменить подчеркивание в имени свойства дефисом.

После небольшого разговора с Reflector кажется, что:

WebGrid.GetHtml() звонкиSystem.Web.WebPages.Html.ObjectToDictionary преобразовать объект анонимных атрибутов в словарь. В отличие от методаSystem.Web.Mvc.HtmlHelper.AnonymousObjectToHtmlAttributes используется другими помощниками, это незаменить "_" от "-".

В отличие от большинства других помощников MVC,WebGrid.GetHtml() не имеет перегрузки, которая занимаетIDictionary, Так что я могу'обойти ошибку, указав атрибуты таким образом.

Это похоже на ошибку, и яМы отправили его в Connect:

http://connect.microsoft.com/VisualStudio/feedback/details/767456/webgrid-gethtml-helper-does-not-allow-data-attributes-to-be-set

Любые предложения для обхода? Или это исправлено в MVC4?

Ответы на вопрос(1)

Ваш ответ на вопрос