0

如果 DateTime 对象设置了最小值,我目前正在使用自定义的帮助器覆盖 EditorFor 帮助器,该帮助器将 DateTime 对象显示为空字符串。它使用 TextBoxFor 助手来做到这一点:

<%: Html.TextBox("", (Model != DateTime.MinValue ? Model.Date.ToString("ddMMMyy") : string.Empty), new { @class = "edit-date-field" })%>

问题是当我这样使用它时:

<%: Html.EditorFor(m => m.StartDate, new { id = "field-id", @class = "field-class"})%>

我希望 MVC 保留 field-id 和 field-class 属性,但是生成的元素具有 id="StartDate" 并且只有一个类,class="edit-date-field"。

那么,如何保留对 EditorFor 的原始调用中包含的属性?如果我将原始 id 和 class 属性添加到模板中,那么使用 DateTime 对象对 EditorFor 的所有调用都将获得我不想要的特定元素/值对。

谢谢!

4

1 回答 1

0

让我澄清一下,您正在尝试使用TextBox替换EditorFor

您的原始TextBox html 助手没有设置 id 并且 class 属性设置为edit-date-field

尝试这个:

<%: Html.TextBox("field-id", (Model != DateTime.MinValue ? Model.Date.ToString("ddMMMyy") : string.Empty), new { @class = "field-class" })%>
于 2011-03-10T17:30:36.990 回答