覆盖ASP MVC EditorFor模板并包含原始的EditorFor参数?

时间:2011-02-10 13:37:16

标签: asp.net asp.net-mvc templates editorfor

如果DateTime对象设置了最小值,我目前正在使用自定义的帮助器覆盖EditorFor帮助程序,该自定义程序将DateTime对象显示为空字符串。它使用TextBoxFor helper执行此操作:

<%: 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,class =“edit-date-field”。

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

谢谢!

1 个答案:

答案 0 :(得分: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" })%>
相关问题