ASP.NET MVC模型绑定数组

48

这有点是一个两部分的问题(如果需要分开,请告诉我)。

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技能非常有限。

1个回答

57

请查看Phil Haack所写的这篇文章:Model Binding To a List,它解释了如何绑定到列表属性或复杂对象属性。

基本上,您只需要以正确的方式构造POST数据,以便模型绑定程序解析它。该文章解释了如何添加隐藏的索引字段和在表单中表示复杂属性。


仅因您提供的链接而被点赞。好文章! - Hakan Fıstık

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接