2009-07-20 38 views
2

我想擁有MVC控制器的以下簽名。ASP.NET MVC模型綁定器。使用一組對象調用控制器參數

public ActionResult Create(Persons[] p) 
{ 

} 

是否有可能有這樣的事情?

編輯: 假設我想通過提交由特殊符號分隔的名稱列表來獲取人物對象數組。 比如我提交表單

<form> 
    <input name="person_name">Max|Alex|Andrew</input> 
</form> 

我想這應該通過實施IModelBinder界面來完成,但我沒有找到任何例子,如何做到這一點。

回答

3

哦,我發現如何做到這一點。

在在Application_Start()函數Global.asax文件應寫入:

ModelBinders.Binders(typeof(Person[])) = new PersonBinder(); 

以這種方式定製的粘合劑被登記。

0

我認爲這種事情會工作

<input type="text" name="Person[1].name" /> 
0

,你可能需要用a custom controlleractioninvoker周圍玩耍。

或只是一個普通的modelbinder

安德魯

+0

沒有。它僅適用於單值參數。 – 2009-07-20 11:03:24

+0

它將適用於任何類型,「人員[]」是一種類型完全相同的方式「人員」是 – 2009-07-20 11:13:16

2

是。有關如何獲取由DefaultModelBinder綁定的集合,請參閱this question

相關問題