我有DateTime和Date的编辑器模板。 Date的内容是DateTime的简单复制和粘贴。这是一个糟糕的复制和粘贴编码。
使用[DataType(DataType.Date)]
修饰的属性是否有一种好方法可以使用DateTime编辑器模板?如何从Date模板直接使用DateTime模板和一些添加的ViewData信息?
答案 0 :(得分:3)
编辑器模板中有多少代码?
我通常所做的是为包含我的模板的大多数常见HTML的所有编辑器模板提供共享布局,然后您(通常)只留下一行代码用于实际类型特定的HTML。
例如,这是布局编辑器模板的简化版本:
<强> _Layout.cshtml 强>
<p>
@Html.LabelFor(m => m):
</p>
<p>
@RenderSection("value")
</p>
<p>
@Html.ValidationMessageFor(m => m)
</p>
然后是一些特定于类型的模板:
<强> String.cshtml 强>
@model System.String
@{
Layout = "~/Views/Shared/EditorTemplates/_Layout.cshtml";
}
@section value{
@Html.TextBoxFor(m => m)
}
<强> Password.cshtml 强>
@model System.String
@{
Layout = "~/Views/Shared/EditorTemplates/_Layout.cshtml";
}
@section value{
@Html.PasswordFor(m => m)
}