Razor - 在foreach循环中设置复选框的id

时间:2011-08-23 15:16:33

标签: c# asp.net asp.net-mvc asp.net-mvc-3 razor

我正在遍历我页面上的供应商列表,为每个供应商创建一个复选框。我希望每个复选框都有一个ID,如“Vendor1”,“Vendor30”,其中的数字是供应商的ID。

我现在有这个:

@foreach (var vendor in Model.Vendors) {
    <input id="@vendor.VendorID" type="checkbox" name="vendors" value="@vendor.VendorID" />
}

但这只是给了我一个身份证号码。我想在其前面添加“供应商”。

如果我这样做:

@foreach (var vendor in Model.Vendors) {
    <input id="Vendor@vendor.VendorID" type="checkbox" name="vendors" value="@vendor.VendorID" />
}

列表中的每个复选框都有一个ID为“Vendor@vendor.VendorID”。

我没有使用@Html.CheckBox,因为它附带了隐藏字段,以及导致我在此示例中未包含的其他几个问题。

1 个答案:

答案 0 :(得分:13)

尝试将razor表达式包装在parantheses中:

<input id="Vendor@(vendor.VendorID)" type="checkbox" name="vendors" value="@vendor.VendorID" />
  

我没有使用@ Html.CheckBox,因为隐藏的字段来了   随之而来,还有其他一些问题导致我没有   包括在这个例子中。

就我个人而言,我从来没有遇到任何问题,并建议使用它。