4

我有一个 DateTime 和 Date 的编辑器模板。Date 的内容是对 DateTime 的简单复制和粘贴。那是可怕的复制和粘贴编码。

[DataType(DataType.Date)]用 DateTime 编辑器模板装饰的属性有没有好方法?从 Date 模板直接使用 DateTime 模板并添加一些 ViewData 信息怎么样?

4

1 回答 1

3

您的编辑器模板中有多少代码?

我通常做的是为所有编辑器模板提供一个共享布局,其中包含我模板的大部分常用 HTML,然后(通常)只剩下一行代码用于实际的特定于类型的 HTML。

例如,这是一个布局编辑器模板的简化版本:

_Layout.cshtml

<p>
    @Html.LabelFor(m => m):
</p>
<p>
    @RenderSection("value")
</p>
<p>
    @Html.ValidationMessageFor(m => m)
</p>

然后这里有几个特定类型的模板:

字符串.cshtml

@model System.String
@{
    Layout = "~/Views/Shared/EditorTemplates/_Layout.cshtml";
}
@section value{
    @Html.TextBoxFor(m => m)
}

密码.cshtml

@model System.String
@{
    Layout = "~/Views/Shared/EditorTemplates/_Layout.cshtml";
}
@section value{
    @Html.PasswordFor(m => m)
}
于 2013-11-02T19:13:06.213 回答