在ASP.NET MVC中设置Html.CheckBoxFor中保留关键字的html属性

jcv*_*dan 11 c# asp.net-mvc checkboxfor

我正在使用HtmlHelper在我的视图中创建一个复选框,如下所示:

<%= Html.CheckBoxFor(model => model.SeatOnly, new { checked = "checked" })%>

但是,抛出错误,因为checked是保留关键字.我发现有几个人说你必须使用'保留字前缀'并简单地在属性前放置一个uderscore,如下所示:

<%= Html.CheckBoxFor(model => model.SeatOnly, new { _checked = "checked" })%>

这不会产生错误,但在生成的html中,属性实际上是'_checked',这意味着它不起作用(如果我使用firebug并删除下划线属性然后生效).

在使用的时候有没有人知道这个方法CheckBoxFor呢?

谢谢

Wes*_*olf 17

<%= Html.CheckBoxFor(model => model.SeatOnly, new { @checked = "checked" })%>
Run Code Online (Sandbox Code Playgroud)

你需要在它前面添加'@':-)

更新

刚刚测试了以下和工作.试试这个 ...

模型

public class MyModel
{
    public bool SomeBooleanValue { get; set; }
    public string Title { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

查看(仅剪切到重要位)

<%= Html.TextBoxFor(x => x.Title) %>

<%= Html.CheckBoxFor(x => x.SomeBooleanValue, new { @checked = "checked" }) %>
Run Code Online (Sandbox Code Playgroud)