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

Posted

技术标签:

【中文标题】在 cshtml/razor 中使用 <script src="@microsoft/" 问题【英文标题】:Using <script src="@microsoft/" Issue in cshtml/razor 【发布时间】: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>

【问题讨论】:

【参考方案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>

【讨论】:

以上是关于在 cshtml/razor 中使用 <script src="@microsoft/" 问题的主要内容,如果未能解决你的问题,请参考以下文章

sc:电子表格计算器,使用脚本执行

模型空异常 --> @if(Model.Count() > 0 )

Windows下使用命令sc.exe查看服务状态管理服务

为啥要在设计中 include <systemc.h

windows sc 添加创建exe服务;

2021SC@SDUSC hadoop源码分析