2010-01-17 105 views
37

这是一个由两部分组成的问题(请让我知道它们是否应该分离)。模型中的ASP.NET MVC绑定数组

1)我有一个模型类,其中包含的对象数组。我希望能够自动绑定这个,所以我可以在我的控制器中接受一个参数pollModel

public class pollResponseModel 
{ 
    public long id { get; set; } 
    public long pollID { get; set; } 
    public string text { get; set; } 
    public long count { get; set; } 
} 

public class pollModel 
{ 
    public long id; 
    public long entID { get; set; } 
    public string question { get; set; } 
    public DateTime posted { get; set; } 
    public DateTime expiration { get; set; } 

    public pollResponseModel[] responses { get; set; } 
} 

问题是我不确定如何绑定responses字段,因为它可以是任意大小。那么,我可以在显示编辑视图时正确地绑定它,但这就是它。这导致我的问题的第二部分:

2)什么是动态创建和删除客户端列表中的数据的可接受的方式,以便它可以绑定到模型,并以修改后的形式访问服务器?我设想创建/删除过程像iPhone列表GUI一样工作:单个+按钮将添加一个新元素,并且每行数据上的一个-按钮将从列表中删除它。我会想象jQuery是一个合适的起点,但我的JS技能是非常有限的。

回答

41

查看Phil Haack的这篇文章:Model Binding To a List。它解释了你需要做什么来绑定到列表属性或属性是复杂的对象。

本质上,您只需以正确的方式为模型联编程序构建您的POST数据来解析它。文章解释了如何添加隐藏的索引字段并在您的表单中表示您的复杂属性。

+0

只提供给您提供的链接。伟大的文章 – 2016-07-16 14:02:52