ASP.NET MVC - Como adicionar uma classe ao html.editor para quando as aulas já existem devido à validação JS discreta?

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

  •  28-09-2019
  •  | 
  •  

Pergunta

Estou tentando adicionar um Class para o EditorFor Ajudante dentro de um EditorTemplate.

O problema é isso porque estou usando Validação discreta, o elemento de entrada já possui classes atribuídas a ele.

Aqui está o meu 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"})

E aqui está a saída

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

Você pode ver aqui que o datepicker A classe não foi adicionada, mas o "valor" foi formatado adequadamente.

Basicamente, posso ver que o EditorTemplate está funcionando, mas o Class não está sendo anexado ao resto das classes no <input> elemento.

Algum de vocês sabe como consertar isso?

Foi útil?

Solução

Acontece que eu tive que adicionar um <UIHint("Date")> para minha aula de amigo.

Tudo está certo novamente.

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

Aqui está a razão da UIHINT.

O nome do modelo padrão é baseado no nome do tipo CLR, neste caso DateTime. "Date" é um nome de atalho no VB, não o nome do tipo real (como "int" em C# é realmente um atalho para "Int32" do CLR).

Outras dicas

tente isso

@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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top