您可以在ASP.NET MVC 2中有子编辑吗?
-
04-10-2019 - |
题
我有一个定制对象的编辑模板。非常基本 - 只有一堆字符串和日期:
<%:Html.LabelFor(model => model.AString)%>
<%:Html.TextBoxFor(model => model.AString)%>
<%:Html.LabelFor(model => model.ADate)%>
<%:Html.EditorFor(model => model.ADate)%>
<%:Html.LabelFor(model => model.AnotherDate)%>
<%:String.Format("{0:d}", Model.AnotherDate)%>
这存储在共享/Editortemplates文件夹中。我在同一位置也有一个DateTime.ASCX编辑器模板,以覆盖所有DateTime字段。
正如您在上面的代码中看到的那样,日期字段之一使用 EditorFor
对于日期字段,另一个没有。但是,它们都相同,这使我相信DateTime编辑器无法访问。有什么我做错了吗?似乎应该这样做。
我直接在视图中使用了DateTime编辑器,并且可以正常工作。
感谢您的任何帮助或见识。
解决方案 2
我解决了这个问题:
我在模型中设置了部分用于数据注释的部分元数据类(我正在使用实体框架)。我的部分日期视图是?DateTime(DateTime.ASCX)
我有所有设置为所有日期的数据类型属性 [DataType(DataType.Date)]
代替 [DataType(DataType.DateTime)]
.
更改该属性将其全部修复。
其他提示
我已经在MVC 2和MVC 3下尝试了您的方案,并在MVC 3下尝试了您的期望。
所以我正确理解你有 EditorTemplates
在您的共享中包含您的 ComplexModel.ascx
编辑和您 ComplexModel.ascx
你打电话 Html.EditorFor(m => m.ADate)
.
关于此,我不确定对MVC 2的更新,但MVC 3肯定有效。
不隶属于 StackOverflow