实体框架6单独项目 - 编辑器模板不起作用

时间:2013-11-24 18:00:14

标签: asp.net-mvc entity-framework

我在我的解决方案中设置了2个项目:

  1. MVC5 Web应用程序
  2. 类库(实体框架6代码优先方法)
  3. 我现在正在尝试为我正在处理的表单设置编辑器模板,但它们无法正常工作。表单本身存在于局部视图中。到目前为止,我尝试了以下内容:

    我在MVC5 Web应用程序(Views / EditorTemplates / DateTime.cshtml)中创建了一个DateTime Editor模板。我的模板的代码如下所示:

    @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模型是在一个单独的项目中。如果是这种情况,那么在这种情况下如何实现编辑器模板?

2 个答案:

答案 0 :(得分:0)

可能不起作用,因为你在模型DateTime和编辑器DateTime中有?可为空?

答案 1 :(得分:0)

为了在整个项目中使用EditorTemplate,您应该将模板存储在Views/Shared/EditorTemplates文件夹中(您需要创建一个,因为它不是默认的项目文件夹)。这将允许视图引擎找到您的自定义编辑器模板。