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)

而这种表示方法就是 显示代码表达式
posted @ 2015-01-14 21:21  程序员丁  阅读(325)  评论(0编辑  收藏  举报