在MVC中,几乎每个html助手都有重载,需要IDictionary<string, object> htmlAttributes
个参数。在那里你可以传递anonymouse对象,属性将是 Razor 渲染页面后的input
属性。
但是有些属性名称应该使用@
char进行转义。例如@class
:
@Html.TextBoxFor(x => x.MyProperty, new { @class = "my-class" })
是否有应该转义的此类单词列表?
它们是否随着 MVC 3,4,5和 Razor 版本的变化而变化?
对于不同的Html助手,它们是不同的吗?
另外,我想知道为什么如果有人可以解释,我们为什么要大声逃避这句话。
答案 0 :(得分:0)
我认为您指的是保留标识符和上下文标识符。
除了作为我们都理解的预定义标识符之外,不能在语言中使用保留标识符。如果不在保留它们的上下文中使用,则可以在程序中使用上下文标识符。
与在程序上下文中用作关键字的任何单词一样,您需要在剃须刀中使用转义键@
。
关键字是预定义的保留标识符,对编译器有特殊含义。它们不能用作程序中的标识符,除非它们包含@作为前缀。例如,@ if是有效的标识符,但如果不是因为if是关键字。
我为您提供了两个保留和上下文修饰符的字母表列表。
保留标识符
上下文关键字仅在有限的程序上下文中具有特殊含义,并且可以用作该上下文之外的标识符。通常,当新的关键字添加到C#语言时,它们会被添加为上下文关键字,以避免破坏早期版本中编写的程序。
内容相关关键字
也希望在评论中承认Stephen Meucke's个贡献。