我已经编写了一个用于创建复选框的自定义html助手,我想将html属性应用为匿名类型,但我无法使用"已检查"复选框的属性,因为编译器认为我引用了C#关键字:
Usage: puttygen ( keyfile | -t type [ -b bits ] )
[ -C comment ] [ -P ] [ -q ]
[ -o output-keyfile ] [ -O type | -l | -L | -p ]
>puttygen mykey.pem -t rsa -b 2048 -o mykey.ppk
puttygen: cannot both load and generate a key
产生错误:
@Html.CustCheckbox(p => p.SomeProperty, scope, htmlAttributes: new { checked = "checked" })
有没有办法解决这个问题,所以我仍然可以使用上面的帮助器。它可以与其他html属性一起使用。
答案 0 :(得分:3)
您需要在checked
前加@
符号:
@Html.CustCheckbox(p => p.SomeProperty, scope, htmlAttributes: new { @checked = "checked" })
从语言规范(第2.4.2节;强调我的):
本节中给出的标识符规则完全符合Unicode标准附件31推荐的规则,但允许下划线作为初始字符(在C编程语言中是传统的),标识符中允许使用Unicode转义序列,和“@”字符被允许作为前缀,以使关键字可用作标识符。