Html.EditorFor,DateTime 字段的数据注释和 html 属性

发布于 2024-12-11 17:21:36 字数 537 浏览 0 评论 0原文

我想将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雪若未夕 2024-12-18 17:21:36

为了让 DataAnnotations 流通,您必须更改编辑器模板以使用 TextBoxFor 而不是 TextBox,如下所示:

@ModelType DateTime
@Html.TextBoxFor(Function(m) m, New With {.class = "date"})

In order to have the DataAnnotations flow through, you must change your Editor Template to use TextBoxFor instead of TextBox, like so:

@ModelType DateTime
@Html.TextBoxFor(Function(m) m, New With {.class = "date"})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文