1

我有一个按钮,它将使用 jQuery 动态创建一个新条目(表中的行)。每个条目都是 html 表中的一行。

对于每一行,每一列都有一个输入(文本框、单选按钮、复选框)等。

因为您可以添加任意数量的行,所以最终会得到一些数组或这些行的集合。

当我发布表单时,我似乎没有在表单集合中看到这些数据,也不太明白如何将这些控件转换为数据对象进行绑定。

所以基本上有2个问题:

  1. 动态创建的控件并确保它们显示在表单帖子中是否存在任何问题?

  2. 将数据表结构传递给我的控制器的方法是什么。我几乎想让每一行代表一些记录对象,然后如果可能的话,将一组记录传递给控制器​​。

有什么建议么?

4

3 回答 3

1

要获取集合,请确保文本框的名称类似于“MyRecord.MyList[0].Field1”。MVC 会自动将它拉到一个可枚举的。对于您的 javascript 添加,只需确保每个添加的行都有一个正确递增的索引(例如,名为“MyRecord.MyList[1].Field1”的新字段)。

于 2009-12-18T14:25:50.043 回答
0

您确实需要确保动态创建的元素位于表单标签之间。

如果您确保将字段命名为“Thing[3].Name”,则默认模型绑定将绑定到对象数组(这是第四行中的 Name 字段,零绑定数组)

然后,您的 Action 方法的签名将变为:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult MethodName(thing[] things)
{
    ...  
}

善良,

于 2009-12-18T14:24:37.613 回答
0

确保每一行的 ID 是唯一的,但如果在发布到服务器的表单内,它应该回发……你是怎么做的?你在用 JQuery 做帖子吗?

于 2009-12-18T14:33:03.807 回答