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

Ste*_*ven 5 c# asp.net asp.net-mvc razor asp.net-mvc-3

我正在遍历页面上的供应商列表,为每个供应商创建一个复选框.我想让每个复选框都有一个ID,如"Vendor1","Vendor30",其中数字是供应商的ID.

我现在有这个:

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

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

如果我这样做:

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

列表中的每个复选框都具有ID"Vendor@vendor.VendorID".

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

Dar*_*rov 13

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

<input id="Vendor@(vendor.VendorID)" type="checkbox" name="vendors" value="@vendor.VendorID" />
Run Code Online (Sandbox Code Playgroud)

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

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