Asp.net mvc 3 MVC3-复杂模型,属性具有相同的字段名,无法呈现模型
我需要帮助渲染复杂模型 我有一个具有两个类属性的复杂模型。所有3个类(AddProjectQnrModel、ProjectModel、QTModel)都具有GroupId和GroupName属性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; }
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