我有点难过,因为我想格式化值并为 css 类添加 html 属性。
如果我使用 @Html.TextBoxFor(m => m.DateModified)
- 我可以添加 html 属性,但无法通过成员上的 DisplayFormat 属性设置格式。
如果我使用 @Html.EditorFor(m => m.DateModified)
- 格式化有效,但我无法添加 html 属性
如果我使用 @Html.TextBox("DateModified", Model.DateModified, ...)
- 当表单处于添加模式时,当模型为空时,我得到空引用异常
实现此目标的最佳方法是什么?
最佳答案
我最终通过为我的日期选择器创建一个自定义编辑器模板来解决这个问题:
Shared/EditorTemplates/DateTime.cshtml
@model System.DateTime?
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("dd/MM/yyyy") : string.Empty, new { @class = "date-picker" })
然后在我原来的页面继续使用
@Html.EditorFor(m => m.DateModified)
关于c# - Html.TextBoxFor 格式化还是 Html.EditorFor htmlAttributes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972536/