2009-12-18 80 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做這個職位嗎?