1

Class内のEditorForヘルパーに を追加しようとしていEditorTemplateます。

問題は、私がUnobtrusive Validationを使用しているため、入力要素に既にクラスが割り当てられていることです。

ここに私の 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>

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

4

2 に答える 2

0

<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) に基づいています。"Date" は VB のショートカット名であり、実際の型名ではありません (C# の "int" が実際には CLR の "Int32" のショートカットであるように)。

于 2010-11-25T22:38:25.330 に答える
-1

これを試して

@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"})
于 2010-11-25T00:33:24.973 に答える