MVC 的 Razor引擎显示代码表达式与隐式代码表达式
隐式代码表达式
就是一个标识符,之后可以跟任意数量的方法调用("()")、索引表达式("[]")及成员访问表达式(".")。但是,除了在"()"或者"[]"里面,是不允许空格存在的。
例如,下面是一些合法的Razor隐式表达式:
@p.Name
@p.Name.ToString()
@p.Name.ToString()[6 - 2]
@p.Name.Replace("ASPX", "Razor")[i++]
下面是一些非法的表达式,这些表达式只有部分("==>"之后的部分)会被Razor认为是表达式。
@1 + 1 ==> @
@p++ ==> @p
@p . Name ==> @p
@p.Name.Length – 1 ==> @p.Name.Length
这是我们为什么需要另一个表达式语法:"@(...)"的原因,通过这个语法我们可以把任何想要的东西放到"()"里面,上面的例子用这个语法来表示就是:
@(1 + 1)
@(p++)
@(p . Name)
@(p.Name.Length - 1)
而这种表示方法就是 显示代码表达式。
LoveLong —— 龙之恋 爱恒久绵长