如何处理强类型化为MVC3中具有重复字段的模型的视图?我想使用标准的MVC3验证方法,并使用HTML帮助器方法来生成输入,但不得不手动编写HTML中的输入,并在控制器方法中使用FormCollection作为参数。包含重复字段的MVC3模型
视图中电子邮件[]字段的表示基本上是重复文本输入 (用户可以单击按钮添加新字段)。对于现有的电子邮件(更新视图),它需要传递id和地址字符串。我有这个工作,但根本感觉不对。
public class Email
{
public int EmailId
public string EmailAddress
}
public class Person
{
public int PersonId;
[Required(ErrorMessage = "First name is required")]
public string FirstName;
[Required(ErrorMessage = "Last name is required")]
public string LastName;
// how to handle this?
public Email[] EmailAddresses;
}
我想这感觉不对,因为你错过了声明性验证?想知道你将不得不编写自己的验证属性。 – bluevector
在我工作的唯一MVC3项目上,我们在每个端点都有一组自定义验证器,除了UI端发生的任何事情外,所有参数都由其相应的验证器进行验证。 – evanmcdonnal
@jonnyGold - “犯规觉得不对劲”,在我做验证,手动,而不是写出的投入和args的传递给控制器的方法利用该框架的功能 –