我正在使用asp.net mvc并创建一个表单.我想在form标签中添加一个class属性.
我在这里找到了一个添加enctype属性并尝试与类交换的示例.访问视图时出现编译错误.
然后我找到了一个例子,有人在属性名称的开头添加@符号并且有效.伟大的它是有效的,但我是一个需要知道原因,快速的谷歌搜索没有帮助.我知道C#允许在字符串前加上@来忽略转义字符.为什么它在这种情况下有效?@告诉编译器什么?
产生编译错误的代码?
<% Html.BeginForm("Results", "Search", FormMethod.Get, new{class="search_form"}); %>
有效的代码:
<% Html.BeginForm("Results", "Search", FormMethod.Get, new{@class="search_form"}); %>
Erik Forbes.. 37
在C#中,"class"是保留关键字 - 在保留关键字的前面添加"@"符号允许您将关键字用作标识符.
这是一个直接来自C#规范的例子:
class @class { public static void @static(bool @bool) { if (@bool) System.Console.WriteLine("true"); else System.Console.WriteLine("false"); } }
注意:这当然是一个例子,不推荐练习.
在C#中,"class"是保留关键字 - 在保留关键字的前面添加"@"符号允许您将关键字用作标识符.
这是一个直接来自C#规范的例子:
class @class { public static void @static(bool @bool) { if (@bool) System.Console.WriteLine("true"); else System.Console.WriteLine("false"); } }
注意:这当然是一个例子,不推荐练习.