2009-12-18 79 views
1

我有一个按钮,它将使用jQuery动态地创建一个新条目(在表中的行)。每个条目都是html表格中的一行。如何使用jQuery/asp.net发布表中动态创建的字段mvc

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

因为你可以随意你结束了这些行的一些阵列或集合添加尽可能多的行。

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

所以基本上有2个问题:

  1. 是否与动态创建的控件的任何问题,并确保它们在成形后显示?

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

有什么建议吗?

回答

1

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

+0

它是否与表本身的id或名称是否或asp.net mvc忽略该问题。 。? – leora 2009-12-18 14:47:49

+0

看起来像我不包括MYRecord合格的对象..现在它的作品 – leora 2009-12-18 15:08:51

0

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

默认的模型绑定将绑定到一个对象数组,如果您确保命名您的字段的方式成为'Thing [3] .Name'(这是第四行的名称字段,零结合阵列)

您为您的操作方法signatture然后变得有些像:

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

善良,

0

请确保每一行的ID都是唯一的,但是如果在发布到服务器的表单中,它应该回发...您是如何在帖子中做的?你在用JQuery做这个职位吗?