ASP.NET MVC - ¿Cómo añadir una clase a la Html.EditorFor cuando ya existen clases debido a la validación js discreta?

StackOverflow https://stackoverflow.com/questions/4272492

  •  28-09-2019
  •  | 
  •  

Pregunta

Estoy intentando añadir un Class a la EditorFor ayudante dentro de un EditorTemplate.

El problema es que debido a que estoy usando Discreto Validación , el elemento de entrada ya ha clases asignado a él.

Aquí está mi EditorTemplate

@Inherits System.Web.Mvc.ViewUserControl(Of Nullable(Of Date))
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}"), String.Empty), New With {.class = "datepicker"})

Y aquí está la salida

<input class="text-box single-line" id="BirthDate" name="BirthDate" type="text" value="08/08/1980" />

Se puede ver aquí que la clase datepicker no se ha añadido, sin embargo, el "valor" se ha formateado correctamente.

Básicamente se puede ver que el EditorTemplate está trabajando, pero el Class no se agrega en el resto de las clases en el elemento <input>.

¿Alguno de ustedes sabe cómo solucionar este problema?

¿Fue útil?

Solución

Resulta que he tenido que añadir un <UIHint("Date")> a mi clase de amigos.

Todo es nuevo a la derecha.

@ModelType Date?
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}", Model), String.Empty), New With {.class = "datepicker"})

Esta es la razón de la UIHint.

  

El nombre de la plantilla por defecto se basa en el nombre del tipo CLR, en este caso DateTime. "Fecha" es un nombre de acceso directo en VB, no el nombre del tipo real (muy parecido a "int" en C # es realmente una abreviatura de "Int32" de CLR).

Otros consejos

Probar

@Inherits System.Web.Mvc.ViewUserControl(Of Nullable(Of Date))
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}"), String.Empty), new {.class = "datepicker"})
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top