【问题标题】:How to use of @: in .cshtml如何在.cshtml中使用@:
【发布时间】:2015-12-15 19:25:44
【问题描述】:

例如,我在视图中显示一些文本:

@:<link href="/Content/stylesheet.css" rel="stylesheet" type="text/css" /> 

@:<script src="/bundles/scripts" type="text/javascript"></script>

什么是@:,我应该何时以及如何使用它?

【问题讨论】:

    标签: javascript .net asp.net-mvc asp.net-mvc-4 razor


    【解决方案1】:

    当您想要将某些内容输出为文字文本时,此运算符与其他 Razor 服务器端运算符结合使用非常有用。

    例如:

    @if (model.Foo) {
        @:Some text to be written directly.
    }
    

    你不能只写这个,因为它会产生错误:

    @if (model.Foo) {
        Some text to be written directly.
    }
    

    所以基本上对于你的例子,输出已经是 HTML 标签,你不需要这个操作符。但是,当您想将一些服务器端 Razor 标记与显式输出混合时,您可以使用它。你也可以使用特殊的&lt;text&gt; 标签来达到同样的效果:

    @if (model.Foo) {
        <text>
        Some text to be written directly.
        </text>
    }
    

    这将欺骗 Razor 解析器,将您要输出到 HTML 的文本视为文字,而不是将其视为服务器端代码。

    另一个例子。假设您要输出一些没有相应开始标记的 HTML 标记:

    @if (model.Foo) {
        @:</div>
    }
    

    如果你刚刚写了这个:

    @if (model.Foo) {
        </div>
    }
    

    那么 Razor 解析器会抱怨,因为它不知道打开的 div 标签。

    【讨论】:

      猜你喜欢
      • 2012-06-18
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 2015-04-22
      • 2016-01-08
      • 1970-01-01
      相关资源
      最近更新 更多