ASP.NET MVC - Comment ajouter une classe à Html.EditorFor lorsque les classes existent déjà en raison de la validation des js discret?

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

  •  28-09-2019
  •  | 
  •  

Question

Je suis en train d'ajouter un Class à l'intérieur d'un EditorFor Helper EditorTemplate.

Le problème est que parce que je suis en utilisant Validation Unobtrusive , l'élément d'entrée a déjà des classes qui lui est attribué.

Voici mon 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"})

Et voici la sortie

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

Vous pouvez voir ici que la classe datepicker n'a pas été ajouté, mais la « valeur » a été correctement formaté.

En fait, je peux voir que le EditorTemplate fonctionne, mais le Class n'est pas ajouté au reste des classes sur l'élément <input>.

Est-ce que quelqu'un d'entre vous savent comment résoudre ce problème?

Était-ce utile?

La solution

avère que je devais ajouter un <UIHint("Date")> à ma classe d'amis.

Tout est à nouveau à droite.

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

Voici la raison de la UIHint.

  

Le nom du modèle par défaut est basé sur le nom du type CLR, dans ce cas DateTime. « Date » est un nom de raccourci dans VB, pas le vrai nom du type (un peu comme « int » en C # est vraiment un raccourci pour « Int32 » de CLR).

Autres conseils

essayer cette

@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"})
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top