Html.EditorFor,DateTime 字段的数据注释和 html 属性
我想将 EditorFor 用于 DateTime 字段,因为这样我可以使用数据注释来描述格式(我不想包含时间部分)。我还想分配一个 html 类属性 (class="date")。 当我使用 EditorFor 辅助函数时,我无法分配 html 属性。 当我使用 EditorFor 并创建编辑器模板时,我可以在模板中指定类,但随后我会丢失格式。这就是我的 DateTime 编辑器模板的样子:
@ModelType DateTime
@Html.TextBox("", Model, New With {.class = "date"})
如何进行这项工作,以便考虑数据注释,以便我可以添加类属性?我所说的注释是:
<Display(Name:="Task start date")>
<DataType(DataType.Date)>
<DisplayFormat(DataFormatString:="{0:MM/dd/yyyy}", ApplyFormatInEditMode:=True)>
I want to use EditorFor for a DateTime field, because then I can use data annotations to describe the format (I do not want to include the time part). I also want to assign an html class attribute (class="date").
When I use EditorFor helper function, I cannot assign html attributes.
When I use EditorFor and I create editor template, I can specify the class in the template, but then I lose the formatting. This is how my DateTime editor template looks like:
@ModelType DateTime
@Html.TextBox("", Model, New With {.class = "date"})
How do I make this work, so the data annotations are taken into account and so I can add the class attribute? The annotations that I talk about are:
<Display(Name:="Task start date")>
<DataType(DataType.Date)>
<DisplayFormat(DataFormatString:="{0:MM/dd/yyyy}", ApplyFormatInEditMode:=True)>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了让 DataAnnotations 流通,您必须更改编辑器模板以使用
TextBoxFor
而不是TextBox
,如下所示:In order to have the DataAnnotations flow through, you must change your Editor Template to use
TextBoxFor
instead ofTextBox
, like so: