ASP.NET MVC-控えめなJS検証のためにクラスが既に存在する場合、html.editorにクラスを追加する方法は?

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

  •  28-09-2019
  •  | 
  •  

質問

追加しようとしています ClassEditorFor 内部のヘルパー 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"})

そして、これが出力です

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

あなたはここでそれを見ることができます datepicker クラスは追加されていませんが、「値」が適切にフォーマットされています。

基本的に私はそれを見ることができます EditorTemplate 働いていますが、 Class の残りのクラスに追加されていません <input> エレメント。

これを修正する方法を知っている人はいますか?

役に立ちましたか?

解決

私はaを追加する必要がありました <UIHint("Date")> 私の相棒のクラスに。

すべてが再び正しいです。

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

これがUIHINTの理由です。

デフォルトのテンプレート名は、CLRタイプ名、この場合はDateTimeに基づいています。 「日付」はVBのショートカット名であり、実際のタイプ名ではありません(C#の「INT」は、CLRの「INT32」のショートカットです)。

他のヒント

これを試して

@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"})
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top