我有一个 DateTime 和 Date 的编辑器模板。 Date 的内容是 DateTime 的简单复制和粘贴。这是糟糕的复制粘贴编码。
对于用[DataType(DataType.Date)]
修饰的属性,有没有好的方法来使用DateTime编辑器模板?从 Date 模板直接使用带有一些添加的 ViewData 信息的 DateTime 模板怎么样?
最佳答案
您的编辑器模板中有多少代码?
我通常做的是为所有编辑器模板创建一个共享布局,其中包含我的模板的大部分通用 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)
}
密码.cshtml
@model System.String
@{
Layout = "~/Views/Shared/EditorTemplates/_Layout.cshtml";
}
@section value{
@Html.PasswordFor(m => m)
}
关于c# - EditorTemplates - 在 Date.cshtml 和 DateTime.cshtml 之间共享实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19745565/