我在解决方案中设置了两个项目:
- MVC5 Web应用程序
- 类库(实体框架6代码优先方法)
我现在正试图为我正在处理的表单设置编辑器模板,但它们不起作用。形式本身存在于局部视图中。到目前为止,我已经尝试了以下几种:
我在MVC5 Web应用程序(Views/EditorTemplates/DateTime.cs.html)中创建了一个DateTime编辑器模板
@model DateTime?
@Html.TextBox("", String.Format("{0:yyyy-MM-dd}", Model.HasValue ?
Model : DateTime.Today), new { @class = "dp", style = "width:100px" })
我已经在我的模型中放置了属性的UI提示:
[UIHint("DateTime")]
public DateTime StartDate { get; set; }
这不起作用,所以我尝试将以下代码添加到我的部分视图:
@Html.EditorFor(model => model.StartDate, "DateTime")
在这一点上,我相信我遇到了问题,因为我的EF模型在一个单独的项目中。如果是这样的话,那么在这个场景中如何实现编辑器模板呢
为了在整个项目中使用EditorTemplate,您应该将模板存储在Views/Shared/EditorTemplates
文件夹中(您需要创建一个,因为它不是默认的项目文件夹)。这将允许视图引擎查找您的自定义编辑器模板。
可能不起作用,因为您在模型和编辑器中都有DateTime?可以为null?