2

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

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

现在我想知道如何将字符串值数组与我的 ViewModel 绑定。

假设我在 ViewModel 中的属性如下:

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

2 回答 2

1

如果我静态地执行它,我会使用 Razor 语法按如下方式执行它。

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

有一些挑战。我以前做过这个,并且在删除方面遇到了一些问题。我不记得确切的问题以及我在这一点上做了什么来解决它。

于 2012-04-06T03:24:26.577 回答
0

Steven Sanderson 就这个主题写了一篇非常好的博客文章

于 2012-04-06T06:11:08.080 回答