【问题标题】:Using <script src="@microsoft/" Issue in cshtml/razor在 cshtml/razor 中使用 <script src="@microsoft/" 问题
【发布时间】:2020-07-21 06:00:09
【问题描述】:

在脚本引用的 src 路径中使用 @ 符号问题。

我使用的是 .cshtml 页面,所以 @ 是代码参考。通常@@ 会取消@ 符号,因此它会将其作为字符串读取,但在以下示例中似乎不起作用。

<script>
    var signalrPath = "~/lib/@@microsoft/signalr/dist/browser/signalr.js";
</script>

<script src="~/lib/@@microsoft/signalr/dist/browser/signalr.js"></script>

这转化为以下内容:

有什么简单的方法可以避免这种情况吗?

我可以创建一个 cshtml 字符串对象并将其插入其中,但这似乎没有必要。

@{ 
    string signalR = "@microsoft";
}

<script src="~/lib/@signalR/signalr/dist/browser/signalr.js"></script>

【问题讨论】:

    标签: javascript html asp.net-core razor razor-pages


    【解决方案1】:

    使用明确的 Razor 表达式:

    <script>
        var signalrPath = "@("~/lib/@microsoft/signalr/dist/browser/signalr.js")";
    </script>
    
    <script src="@("~/lib/@microsoft/signalr/dist/browser/signalr.js")"></script>
    

    或者,我想你可以只做@microsoft 部分,但我个人更喜欢将整个字符串放在一起:

    <script src="~/lib/@("@microsoft")/signalr/dist/browser/signalr.js"></script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 1970-01-01
      • 2012-08-24
      • 2021-01-27
      • 2020-03-14
      相关资源
      最近更新 更多