0
我在ASP.NET MVC 2中有一种情况,其中的字段基于视图模型提供的信息,但其发布的数据是由更纤细的编辑模型表示的数据的子集。我想向编辑模型添加简单的数据注释验证,但由于视图基于视图模型,因此我不确定如何继续。如何处理绑定编辑模型时的模型验证!=查看模型
我在ASP.NET MVC 2中有一种情况,其中的字段基于视图模型提供的信息,但其发布的数据是由更纤细的编辑模型表示的数据的子集。我想向编辑模型添加简单的数据注释验证,但由于视图基于视图模型,因此我不确定如何继续。如何处理绑定编辑模型时的模型验证!=查看模型
查看模型和控制器操作参数不必一致。
在你的情况下,这意味着你可能使用更丰富的模型类来生成你的视图(甚至可能发布超过需要的信息),但你的控制器动作只会使用来自发布数据的一些信息来填充更简单的应用程序模型对象实例。没问题。只要字段命名足以正确填充属性。
你可能有这两个类:
public class User
{
[Required]
public string Username { get; set; }
[Required]
public string Password { get; set; }
}
public class Person: User
{
public string Name { get; set; }
public string Address { get; set; }
}
,然后你的看法是使用Person
和你的控制器动作将有User
类型的参数。精细。它会工作。
这些类不需要彼此继承。我在这个简单的例子中就这样做了,因为这样它们都共享公共属性名称。但是,只要发布的字段名称能够建模绑定到控制器动作参数类属性,它们就不必以任何形式或形式关联。