asp.net-mvc - net - para que sirve el validationsummary
Agregar un guion al nombre de atributo html usando MVC3 WebGrid helper (1)
Me temo que esto no es posible. Desafortunadamente, el WebGrid no admite la misma sintaxis que el asistente HTML estándar, como TextBoxFor
donde usted podría:
@Html.TextBoxFor(x => x.SomeProp, new { data_test = "testdata" })
y el guión bajo se convertiría automáticamente a guión.
Tengo un problema al tratar de agregar un atributo de datos HTML5 personalizado a la tabla que se representa con el ayudante WebGrid. Quiero que la etiqueta de la tabla se vea de la siguiente manera:
<table data-test="testdata"><!-- Table Content --></table>
Aquí hay una vista de muestra usando el motor de vista Razor:
@{
var myUser = new
{
Id = 1,
Name = "Test User"
};
var users = new[] { myUser };
var grid = new WebGrid(users);
}
@grid.GetHtml(htmlAttributes: new { data-test = "testdata"})
La última línea producirá un "declarante de miembro de tipo anónimo no válido". error, debido al guión en la prueba de datos.
Con algunas de las otras HtmlHelpers de entrada, puede usar un guión bajo en lugar del guión y se cambiará automáticamente a un guión cuando se represente. Esto no ocurre con WebGrid.
Si paso en un diccionario para htmlAttributes:
@grid.GetHtml(htmlAttributes: new Dictionary<string, object> {{ "data-test", "testdata"}})
la mesa se muestra como tal:
<table Comparer="System.Collections.Generic.GenericEqualityComparer`1[System.String]" Count="1" Keys="System.Collections.Generic.Dictionary`2+KeyCollection[System.String,System.Object]" Values="System.Collections.Generic.Dictionary`2+ValueCollection[System.String,System.Object]"><!-- Table Content --></table>
¿Qué estoy haciendo mal y qué debo hacer renderizar el atributo como desee?