如何绑定视图模型阵列串属性的多个文本框?(How to bind multiple textbox

2019-07-28 20:40发布

在下面的链接有添加按钮,它允许您添加我使用我的应用程序,多个文本框。

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

现在我想知道我怎么可以绑定的字符串值的数组与我的视图模型。

比方说,如果我在视图模型属性如下:

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

Answer 1:

史蒂芬·桑德森写了一个非常漂亮的博客文章上正是这个问题。



Answer 2:

如果我做到了静态,我会用剃刀语法如下做到了。

@for(int i = 0; i < Model.players.Length; i++)
{
   @Html.EditorFor(m => m.players[i]);
}

这导致下面的标记:

<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" />

所以,如果您添加使用JavaScript(如下所示),并张贴到控制器的两个输入,默认粘结剂将创建一个播放器阵列,4个项目。 我希望你能看到的图案。

<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" />

有一些挑战。 我以前做过,有大约缺失了几个问题。 我不记得确切的问题,我所做的在这一点上解决它。



文章来源: How to bind multiple textbox with ViewModel array string property?