Asp.net mvc 3 MVC3-复杂模型,属性具有相同的字段名,无法呈现模型

Asp.net mvc 3 MVC3-复杂模型,属性具有相同的字段名,无法呈现模型,asp.net-mvc-3,model,Asp.net Mvc 3,Model,我需要帮助渲染复杂模型 我有一个具有两个类属性的复杂模型。所有3个类(AddProjectQnrModel、ProjectModel、QTModel)都具有GroupId和GroupName属性 public class AddProjectQnrModel { [Required] public int GroupId { get; set; } public string GroupName { get; set; }

我需要帮助渲染复杂模型

我有一个具有两个类属性的复杂模型。所有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,因为它不能正确绑定属性,所以我必须使用编辑器模板

在运行项目时,我遇到以下错误:

不引人注目的客户端验证规则中的验证类型名称必须为 独一无二。多次看到以下验证类型: 必需的

描述:在执行过程中发生未处理的异常 当前的web请求。请查看堆栈跟踪以了解更多信息 有关错误的信息及其在代码中的来源

异常详细信息:System.InvalidOperationException:验证类型 不引人注目的客户端验证规则中的名称必须是唯一的。这个 多次看到以下验证类型:必需


我想你遇到了类似的事情

MVC将自动为
GroupId
添加所需的验证,因为
int
不是可为空的类型。当您添加明确的
[必需]
规范时,验证将重复并导致错误。删除任何本质上不可为null的属性的显式
[必需]
属性,并且应按预期工作

或者,如果您想阻止自动生成以支持显式的
[必需的]
声明,您可以将以下内容添加到
应用程序启动
,如图所示:

Source Error: 

Line 26: 
Line 27:         @Html.EditorFor(x => x.Project, "_EditProject.cshtml")
Line 28: 
Line 29:         
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false