如何在HTMLAttributes中引用MVC项/模型?

时间:2011-08-25 22:12:18

标签: asp.net-mvc-3 razor

我正在尝试在表格的每一行列出两个单选按钮,但我无法为每个单选按钮分配唯一的ID。我想根据@ item.myID分配ID,如下所示:

@foreach (var item in Model)
{
    <tr>
        <td>
            @Html.RadioButton("Yes", @item.myID, @item.IsCool, new { id = "@item.myID", autopostback = "true" })
            @Html.RadioButton("No", @item.myID, !@item.IsCool, new { id = "@item.myID", autopostback = "true" })
        </td>
    </tr>
}

但是,ID仍然按字面意思呈现为“@ item.myID”。换句话说,它不会将@符号视为特殊字符。我也尝试过使用括号,例如:“@(item.myID)”。

1 个答案:

答案 0 :(得分:0)

您需要删除ID分配周围的引号,如此;

@foreach (var item in Model)
{
    <tr>
        <td>
            @Html.RadioButton("Yes", item.myID, item.IsCool, new { id = item.myID, autopostback = "true" })
            @Html.RadioButton("No", item.myID, !item.IsCool, new { id = item.myID, autopostback = "true" })
        </td>
    </tr>
}

另外,请注意,当您已经处于另一个Razor代码块的上下文中时,您不需要额外的“@”符号 - Razor View Engine非常聪明:)