【发布时间】:2014-07-01 13:39:11
【问题描述】:
我的 MVC5/EF6 网站有问题。我有一个这样的模型:
(来源:hostingpics.net)
当我创建一项活动时,我想为其添加至少一个日期。所以我在表单中创建了一个新字段:
<div class="form-group">
@Html.LabelFor(model => model.Days, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Days)
@Html.ValidationMessageFor(model => model.Days)
</div>
</div>
根据我在这里和那里阅读的各种来源 (https://stackoverflow.com/a/11403858/360708),我必须在 View/Shared/EditorTemplates/ 中创建一个文件 Day.cshtml,以便我可以告诉 MVC 我希望 Day 有一个编辑器用于“ day1"(此处为 DatePicker)。
这是因为我的模型 Day 是 Activity 中的 ICollection,所以我无法像这样访问字段 day1:“model.Days.day1”。我已经尝试创建 Day.cshtml,但它不起作用。这是Day.cshtml的内容
@model GAS_VS2013.Models.Day
@Html.EditorFor(o => o.day1)
我是不是忘记了什么或做错了什么?
谢谢
【问题讨论】:
-
您没有将模板的路径作为 EditorFor 的参数传递。
-
谢谢法尔斯。好吧,现在我的表单正确显示了我的日期选择器,但是当我单击提交时,当我在调试模式下检查时,活动对象的 Days 字段为空。如何检索日期值?
-
现在,我停止使用 EditorFor(model => model.Days, "Day") 来使用基本的 HTML 5 从中我使用“Request[”day”].ToString()”获取控制器中的值。我没有利用 EF,但至少它有效
标签: asp.net-mvc asp.net-mvc-5 entity-framework-6 editorfor icollection