2011-03-07 34 views
5

嗨,以下THIS職位和其他職位,它鏈接到,我已經成功地建立了一個頁面具有可變legnth編輯列表。asp.net MVC 3可變長度的編輯列表

現在,我需要做的另一頁具有類似功能,但去了一步。基本上我需要創建一個可變長度的對象列表,正如我已經完成的那樣,但是在這種情況下,列表中的每個對象都需要有自己的可變長度可編輯子列表。

我可以建立沒有問題的看法,但我想我迷路了,以我將如何處理這個在我的崗位控制器的方法來保存對象。

將我的控制器需要2個IEnumerable的參數? I.E.

public ActionResult SaveList(IEnumerable<MainList>, IEnumerable<Sublist>) 
{ 

} 

看起來這會工作,但我沒有在主列表收集合適的對象associatiing子列表集合中的對象的方式。

我缺少什麼?

+0

如果我正確理解這個問題,你的子列表應該是你的'MainList'元素的成員。在你看來,你將有一個嵌套的'foreach'循環來處理'Sublist'元素。在控制器中,您只需接受'MainList'作爲參數(它應該已經具有成員的子列表)。你有沒有嘗試過這種方法?有什麼不起作用嗎? – Yakimych 2011-03-07 12:38:39

+0

我需要再次嘗試這種方法,我過去沒有成功嘗試過,但我可能錯過了一些東西。你是對的,子列表是主要列表對象的成員。如果我能得到這個工作,它會使得這個很簡單 – stephen776 2011-03-07 12:43:16

+0

@Yakimych,遺憾的是這種方法不是爲我工作...的子列表集合爲空 – stephen776 2011-03-07 23:14:40

回答

2

總結我們的意見,討論,回答的結果:

子列表應該是你MainList元素的成員。在視圖中,您將有一個嵌套的foreach循環來處理Sublist元素。在控制器中,您只需接受MainList作爲參數(它應該已經具有成員的子列表)。爲了使ModelBinder正確地選取子列表,輸入的名稱應首先包含主列表的名稱(而不僅僅是子列表項中的屬性)。

1

我認爲你需要建立一個模型綁定器類接受這些參數到控制器中的對象,你想要的方式。

+0

我將不得不多看看這一點 – stephen776 2011-03-07 13:15:52