tug*_*erk 2 asp.net asp.net-mvc visual-studio razor asp.net-mvc-3
我刚买了一本关于使用Razor View Engine的ASP.NET MVC的书.有一个叫做的小节Usage of @ Operator,这个小节标题让我......好吧,不舒服.
是@所谓的运营商的Razor视图引擎里面?
UPDATE
我想我的问题不是那么清楚.我想知道是否@是剃刀视图引擎内的操作符.例如,< > = != >= =>这些在C#语言中称为运算符.@内部Razor视图引擎是否相同?
我认为你不舒服的原因是@ 令牌(从解析的角度谈论它,虽然字符也应该这样做)被重载以指示许多不同的情况.让我们来看看它们是什么:
写一个输出值:
@this.Value
Run Code Online (Sandbox Code Playgroud)指示代码块转换:
@{
var foo = 1;
foo += 1;
}
Run Code Online (Sandbox Code Playgroud)表示代码语句转换:
<div>
@if(foo) {
// code
}
</div>
Run Code Online (Sandbox Code Playgroud)指示到标记的转义直到行尾
@if(foo) {
foo = false;
@: value printed to output
}
Run Code Online (Sandbox Code Playgroud)指示指令声明:
@inherits MyCustomBaseType
Run Code Online (Sandbox Code Playgroud)指示特殊代码块:
@section Foo {
<div />
}
@helper Bar(int param) {
param += 1;
}
Run Code Online (Sandbox Code Playgroud)分隔注释块:
@*
This is a comment
*@
Run Code Online (Sandbox Code Playgroud)逃避@角色:
Email me at myemail@@example.com
Run Code Online (Sandbox Code Playgroud)在我看来,只有第一种用法可以被视为运营商.操作数(即跟随@但不包括第一个标记 - 有效空白字符的所有其他内容)作为参数传递给Write()方法.所有其他用法都没有任何可清楚识别的操作数,或者需要识别额外的标记(*在注释块等中).
| 归档时间: |
|
| 查看次数: |
456 次 |
| 最近记录: |