我有一个表单,使用像这样的Razor代码创建了许多复选框元素
foreach (var tag in Model.Tags)
{
<input type="checkbox" id="@tag.ID" name="@tag.ID" value="@tag.TagName"/>@tag.TagName<br /
}
这有效但我希望ID和名称采用这种格式chkTag [TagID]我试过这个
<input type="checkbox" id="chkTag@tag.ID" name="chkTag@tag.ID" value="@tag.TagName"/>
但Razor只是将整个事物视为字符串并将其命名为chkTag@tag.ID。
所以我想我的问题是如何将动态剃刀ID添加到我的姓名和ID的末尾?
由于
答案 0 :(得分:42)
您应该在tag.ID
周围使用括号,如下所示:
chkTag@(tag.ID)
完整代码:
foreach (var tag in Model.Tags)
{
<input type="checkbox" id="chkTag@(tag.ID)" name="chkTag@(tag.ID)" value="@tag.TagName"/>
}
答案 1 :(得分:4)
@for (int i = 0; i < Model.Tags.Count(); i++)
{
@Html.CheckBoxFor(model => Model.Tags[i])
}
这应该正常。它会自动给出正确的名称。