例如,我在视图中显示一些文字:
@:<link href="/Content/stylesheet.css" rel="stylesheet" type="text/css" />
@:<script src="/bundles/scripts" type="text/javascript"></script>
什么是@:
以及何时以及如何使用它?
答案 0 :(得分:4)
当您想要将某些内容输出为文字文本时,此运算符可与其他Razor服务器端运算符结合使用。
例如:
@if (model.Foo) {
@:Some text to be written directly.
}
你不能只写这个,因为它会产生错误:
@if (model.Foo) {
Some text to be written directly.
}
因此,基本上对于输出已经是HTML标记的示例,您不需要此运算符。但是当你想将一些服务器端Razor标记与显式输出混合时,你可以使用它。您还可以使用特殊<text>
标记来实现相同的效果:
@if (model.Foo) {
<text>
Some text to be written directly.
</text>
}
这会欺骗Razor解析器将您要输出的文本视为文字,而不是将其视为服务器端代码。
另一个例子。假设您要输出一些没有相应开始标记的HTML标记:
@if (model.Foo) {
@:</div>
}
如果你刚写了这个:
@if (model.Foo) {
</div>
}
然后Razor解析器会抱怨,因为它不知道打开div标签。