【发布时间】:2012-06-14 20:55:06
【问题描述】:
如何处理在 MVC3 中具有重复字段的模型的强类型视图?我想使用标准的 MVC3 验证方法并使用 HTML 辅助方法来生成输入,但不得不依靠在 HTML 中手动编码输入并在控制器方法中使用 FormCollection 作为参数。
email[] 字段在视图中的表示基本上是一个重复的文本输入 (用户可以单击按钮添加新字段)。对于现有的电子邮件(更新视图),它需要传递 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;
}
【问题讨论】:
-
我认为它感觉不对,因为您缺少声明性验证?我认为您将不得不编写自己的验证属性。
-
在我参与过的唯一 MVC3 项目中,我们在每个端点都有一组自定义验证器,除了 UI 端发生的任何事情之外,所有参数都由相应的验证器验证。
-
@jonnyGold - “感觉不对”,因为我正在做验证、写出输入并将 args 手动传递给控制器方法,而不是利用框架的功能
标签: c# asp.net asp.net-mvc-3