2013-12-15 88 views
1

我試圖在控制器中獲取隨機數量的參數。我想代碼會解釋我的問題:-)ASP.NET MVC動態參數

在我看來,我已經是這樣的:

<%: Html.CheckBox("Time" + (i-1)) %> 

其中i是一個隨機值(例如4)。

所以,萬一i確實是4,我的控制器竟被方法如下所示:

public ActionResult Test(int Time0, Time1, Time2, Time3) { 
    //some code 
} 

但是,問題是我不知道現在i。所以,控制器應該接受隨機數量的參數。

任何想法?

回答

2

這樣創建的複選框:

<%: Html.CheckBox("Time[" + i + "]") %> 

確保i是連續的。也就是說,你不能有1,2,3和5(沒有4)。實際上,您可以擁有非順序索引,但您必須爲索引本身創建另一個input

你的行動應該是這樣的:

public ActionResult SomeAction(int[] time) 
{ 

} 

請參考以下鏈接瞭解更多關於收集ASP.NET MVC綁定:http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/

0

使你的論點像:int[] parameters

+0

這是行不通的。 C#params關鍵字不適用於ASP.NET MVC,至少不使用默認模型綁定器。 –

+0

@AndréPena你是對的。 +1糾正我和你的答案。 – KrishnaDhungana

+0

謝謝@KrishnaDhungana –