ASP.NET MVC-控えめなJS検証のためにクラスが既に存在する場合、html.editorにクラスを追加する方法は?
-
28-09-2019 - |
質問
追加しようとしています Class
に EditorFor
内部のヘルパー 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"})
所属していません StackOverflow