Rah*_*odi 2 .net javascript asp.net-mvc razor asp.net-mvc-4
例如,我在视图中显示一些文本:
@:<link href="/Content/stylesheet.css" rel="stylesheet" type="text/css" />
@:<script src="/bundles/scripts" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
什么是@:,何时以及如何使用它?
当您要将某些内容输出为文字文本时,该运算符与其他Razor服务器端运算符结合使用非常有用。
例如:
@if (model.Foo) {
@:Some text to be written directly.
}
Run Code Online (Sandbox Code Playgroud)
您不能只写这个,因为它会产生一个错误:
@if (model.Foo) {
Some text to be written directly.
}
Run Code Online (Sandbox Code Playgroud)
因此,基本上对于您的示例(其中输出已经是HTML标记),您不需要此运算符。但是,当您要将某些服务器端Razor标记与显式输出混合在一起时,可以使用它。您也可以使用特殊<text>标签来达到相同的效果:
@if (model.Foo) {
<text>
Some text to be written directly.
</text>
}
Run Code Online (Sandbox Code Playgroud)
这将欺骗Razor解析器将要输出到HTML的文本视为原义,而不将其视为服务器端代码。
另一个例子。假设您要输出一些没有相应的开始标记的HTML标记:
@if (model.Foo) {
@:</div>
}
Run Code Online (Sandbox Code Playgroud)
如果您只是这样写:
@if (model.Foo) {
</div>
}
Run Code Online (Sandbox Code Playgroud)
那么Razor解析器可能会抱怨,因为它不知道开头的div标签。
| 归档时间: |
|
| 查看次数: |
2068 次 |
| 最近记录: |