在 cshtml/razor 中使用 <script src="@microsoft/" 问题

Using <script src="@microsoft/" Issue in cshtml/razor

在脚本引用的 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>

使用显式 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>