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

ASP.NET MVC中如何在锚标签href内使用@符号?

解决ASP.NET MVC Razor视图中社交媒体链接的@符号解析错误

错误原因

Razor引擎会自动把@开头的内容识别为服务器端变量或表达式,你代码里的@techiewords被当成了未定义的Razor变量,所以触发编译错误。

解决方法

以下几种方式都能解决这个问题:

  • 方法一:直接转义@符号
    在URL里的@前面再加一个@,让Razor解析后输出单个@:
<li><a class="youtube" href="https://youtube.com/@@techiewords" target="_blank"><i class="fab fa-youtube"></i></a></li>

如果之前这么写没生效,检查代码是否处于Razor代码块(如@{...})中,确保是在纯HTML或Razor视图的静态内容区域。

  • 方法二:使用Html.Raw输出静态HTML
    用Html.Raw包裹整个链接片段,让Razor跳过对内部内容的解析:
<li>@Html.Raw("<a class='youtube' href='https://youtube.com/@techiewords' target='_blank'><i class='fab fa-youtube'></i></a>")</li>
  • 方法三:Razor字符串拼接输出
    通过Razor的字符串表达式输出包含@的URL部分:
<li><a class="youtube" href="https://youtube.com/@("@techiewords")" target="_blank"><i class="fab fa-youtube"></i></a></li>

这里括号内的@techiewords会被作为纯字符串输出,不需要额外转义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:55:25