2012-04-06 77 views
2

在下面的鏈接中有添加按鈕,它允許您添加我在我的應用程序中使用的多個文本框。如何使用ViewModel數組字符串屬性綁定多個文本框?

http://jsfiddle.net/cN5SR/200/

現在我想知道我怎麼可以綁定的字符串值的數組與我的視圖模型。

比方說,如果我在視圖模型屬性如下:

Public class MyViewmodel 
{ 
    Public string[] players { get; set; } 
} 
+1

如果所有的文本框被命名爲「播放器」,ModelBinder會將每個文本框的值添加到數組中。另一種選擇是給每個文本框命名一個索引:players [0],players [1]等,但是你需要管理索引而不是跳過一個 – 2012-04-06 01:01:05

+0

你的意思是默認情況下它將數組字符串? – updev 2012-04-06 01:07:13

+0

如果每個文本框是相同的名稱,你基本上冒充「player = player1&player = player2&player = player3」,這將導致該數組由ModelBinder自動構建 – 2012-04-06 01:13:53

回答

0

Steven Sanderson在這個問題上寫了一個very nice blog post

+0

雖然這個答案已經過了一年多了,如果你在這裏,在這個網站上發佈了答案的重要部分,或者你的帖子風險被刪除了,那麼這樣做會更好一些[參見常見問題解答,其中提到的'僅僅是一個鏈接'的答案。](http:/ /stackoverflow.com/faq#deletion)如果您願意,您可能仍然包含該鏈接,但僅作爲「參考」。答案應該獨立,不需要鏈接。 – Taryn 2014-11-04 10:46:46

1

如果我做到了靜態,我會用剃刀語法如下做到了。

​​

這將導致下面的標記:如果您添加使用JavaScript(如下所示),並張貼到控制器的兩個輸入

<input class="text-box single-line" id="players_0_" name="players[0]" type="text" value="Bob" /> 
<input class="text-box single-line" id="players_1_" name="players[1]" type="text" value="Sam" /> 

所以,默認粘結劑將創建一個播放器陣列4項目。我希望你看到這個pat。。

<input class="text-box single-line" id="players_2_" name="players[2]" type="text" value="Pete" /> 
<input class="text-box single-line" id="players_3_" name="players[3]" type="text" value="Dirk" /> 

有一些挑戰。我之前已經完成了這個工作,並且在刪除時遇到了一些問題。我不記得確切的問題,以及我在這一點上做了什麼來解決它。

相關問題