You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSHTML文件中URL含@符号的报错问题求助

解决CSHTML中引入TensorFlow.js脚本的@符号冲突问题

以下是三种可行的解决办法,既能保留URL中必须的单个@符号,又能避免Razor引擎的解析错误:

方法1:使用@Html.Raw()输出原始字符串

利用Razor的Html.Raw()方法直接输出包含@符号的URL,绕过Razor对@的语法解析:

<script src="@Html.Raw("https://cdn.jsdelivr.net/npm/@tensorflow/tfjs")"></script>

Html.Raw()会将传入的字符串原封不动地渲染到页面,不会把@tensorflow识别为Razor代码。

方法2:动态创建script标签加载脚本

通过JavaScript动态生成script标签,完全绕开Razor对HTML属性的解析逻辑:

<script>
  const tfScript = document.createElement('script');
  tfScript.src = 'https://cdn.jsdelivr.net/npm/@tensorflow/tfjs';
  tfScript.async = true; // 可选,异步加载不阻塞页面
  document.head.appendChild(tfScript);
</script>

这种方式适合需要动态控制加载时机的场景,同时彻底避免了@符号的语法冲突。

方法3:用Razor变量拼接URL

先定义一个变量存储@符号,再通过Razor表达式拼接成完整URL:

@{
  string atSymbol = "@";
}
<script src="https://cdn.jsdelivr.net/npm/@(atSymbol)tensorflow/tfjs"></script>

@(atSymbol)会被Razor解析为输出变量值(即单个@),最终生成的URL符合CDN要求的格式。


内容的提问来源于stack exchange,提问作者FleaPea5021

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 02:15:57