tag net mvc labelfor htmlattributes for asp asp.net-mvc html-helper html.labelfor

asp.net-mvc - net - mvc label for c#



¿Por qué debería usar LabelFor en MVC? (2)

Bueno, si ha decorado sus modelos con DisplayNameAttribute esta manera:

[DisplayName("First Name")] string FirstName { get; set; }

Entonces solo especificas cuál será el texto de la etiqueta en un solo lugar. Es posible que deba crear una etiqueta similar en el número de lugares, y si alguna vez tuvo que cambiar el texto de la etiqueta, sería conveniente hacerlo solo una vez.

Esto es aún más importante si desea localizar su aplicación para diferentes idiomas, lo cual puede hacer con DisplayAttribute :

[Display(Name = "FirstNameLabel", ResourceType = typeof(MyResources))] string FirstName { get; set; }

También significa que tendrá vistas más fuertemente tipadas. Es fácil presionar con el dedo una cadena como "FirstName" si tiene que escribir mucho, pero usar el método de ayuda permitirá que el compilador cometa esos errores la mayor parte del tiempo.

¿Por qué debería usar LabelFor lugar de <label> ?

p.ej.

@Html.LabelFor(model => model.FirstName) @Html.DisplayFor(model => model.FirstName)

vs

<label for="FirstName">First Name</label> @Html.DisplayFor(model => model.FirstName)

Además de lo anterior, @pswg ha cubierto el aspecto DRY de esta pregunta. También me gustaría saber si ayuda con la localización. es decir. Diferentes etiquetas basadas en la configuración de idioma actual.


LabelFor permite controlar todo desde su modelo de vista sin preocuparse por el control.

Digamos que usa el mismo modelo de vista en 2 lugares, esto significa que puede cambiar el nombre en un lugar para actualizar todos los controles.

No tiene que ser usado, pero tiene sus usos.