Blazor的_Layout.cshtml中script链接含@符号报CS0103错误怎么解决
问题根因
你遇到的CS0103是Razor视图的编译错误,和JS资源本身能不能访问无关:Razor语法中@是特殊字符,用于标记C#代码表达式,你写的@antv会被Razor识别为要调用当前上下文里名为antv的C#变量,你的代码里没有定义这个变量,就会抛出「当前上下文中不存在名称“antv”」的错误。
解决方案
任选其一即可:
- 方法1:转义
@符号
Razor中两个连续的@@会被解析为普通的@字符输出,把对应script标签修改为:<script src="https://unpkg.com/@@antv/g2plot@1.1.28/dist/g2plot.js"></script> - 方法2:把链接包裹为Razor字符串常量
直接告诉Razor整个链接是输出字符串,不需要解析内部的@符号:<script src=@("https://unpkg.com/@antv/g2plot@1.1.28/dist/g2plot.js")></script>
修改完成后重新编译项目,该编译错误就会消失,项目运行后可通过浏览器开发者工具的网络面板验证JS资源是否正常加载。
内容的提问来源于stack exchange,提问作者10101
相关产品推荐
相关产品推荐

