asp.net-mvc-3 – MVC3 – 复杂模型,属性具有相同的字段名称,无
我需要帮助渲染复杂的模型.
我有一个具有2个类属性的复杂模型.所有3个类(AddProjectQnrModel,ProjectModel,QTModel)都具有GroupId和GroupName属性. public class AddProjectQnrModel { [Required] public int GroupId { get; set; } public string GroupName { get; set; } public ProjectModel Project { get; set; } public QCTModel QCT { get; set; } } 在视图中我使用编辑器模板: @Html.EditorFor(x => x.Project,"_EditProject.cshtml") @Html.EditorFor(x => x.QCT,"_QCT-v1.cshtml") 我不能使用@ html.Partial,因为它不会正确绑定属性,所以我必须使用编辑器模板. 在运行项目时,我收到此错误:
Source Error: Line 26: Line 27: @Html.EditorFor(x => x.Project,"_EditProject.cshtml") Line 28: Line 29: 解决方法
我想你遇到了类似于
this issue的东西.
MVC将自动为GroupId添加必需的验证,因为int不是可空类型.当您添加[Required]的显式规范时,验证将重复并导致您的错误.删除任何本质上不可为空的属性的显式[Required]属性,并且事情应该按预期工作. 或者,如果要阻止自动生成以支持显式[Required]声明,可以将以下内容添加到Application_Start,如此previous answer所示: DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |