我正在尝试向Class
内的EditorFor
助手添加EditorTemplate
。
问题在于因为我正在使用不引人注目的验证,所以输入元素已经分配了类。
这是我的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>
元素上的其他类。
你们中的任何人都知道如何解决这个问题吗?
答案 0 :(得分: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”的快捷方式)。
答案 1 :(得分:-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"})