我有一个视图,允许用户插入多个相同类型的元素。
@foreach (var gm in Model)
{
<tr><td>
@Html.TextBoxFor(model => gm.name)
</tr></td>
}
但是,当我看到生成的 HTML 时,它复制了 id 和名称
<tr><td>
<input id="gm_name" name="gm.name" type="text" value="" />
</td></tr>
<tr><td>
<input id="gm_name" name="gm.name" type="text" value="" />
</td></tr>
有没有办法自动添加 1,2,3,etc 和 id 的末尾,例如:
<tr><td>
<input id="gm_name1" name="gm.name1" type="text" value="" />
</td></tr>
<tr><td>
<input id="gm_name2" name="gm.name2" type="text" value="" />
</td></tr>
如果我生成所有的 html,我就可以做到这一点,但是,有没有一种自动的方法来实现这一点?
Thanks
不使用 TextBoxFor,只需使用TextBox http://msdn.microsoft.com/en-us/library/dd492984.aspx方法,您可以指定您希望它使用的名称。我认为这样的事情应该有效:
@foreach (int i = 0; i < Model.Count; i++)
{
var gm = Model[i];
<tr><td>
@Html.TextBox("gm.name" + i, gm.name, new {id = "gm_name" + i})
</tr></td>
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)