在 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/" 问题的主要内容,如果未能解决你的问题,请参考以下文章