6

Html.TextBox("ParentPassword", "", new { @class = "required" })

天哪该死的是@class的@。

4

3 回答 3

20

class是保留关键字,因此不能将其用作变量名。

@ 运算符允许您绕过此规则。之所以在这里这样做是因为匿名对象用于填充 HTML 元素的属性。有效的属性名称是“class”,它允许您在元素上设置 CSS 类。

于 2008-11-12T16:46:23.717 回答
8

class是一个关键字。要class用作变量/属性的名称,在 C# 中,您可以@在其前面添加@class. 在 IL 中,对于所有 .net 而言,变量/属性的名称仍然是class-@您必须在 C# 中这样做。

于 2008-11-12T16:48:08.953 回答
7

只是将我的两分钱添加到这里的所有正确答案中:

如果您是 C# 新手,但对 VB.NET 很熟悉,您可能知道 VB 中有一个与 @ 对应的对象。方括号 [ ] 在 VB.NET 中用于包围以保留字(或关键字)命名的变量名。例如:

Dim [String] As String
于 2008-11-12T17:08:22.813 回答