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

Blazor Server中razor页面变量后追加三个点静态文本如何避免编译报错

问题原因

Razor解析器默认会将@str1后紧跟的第一个点识别为C#的成员访问操作符,尝试匹配str1对应的类型成员,因此触发编译错误。

最简解决方案

只需要给变量包裹显式Razor表达式语法(括号)即可,无需修改原变量,也不需要额外加DOM标签:

@if (condition)
{
    @(str1)...
}

@()会明确告诉Razor解析器,括号内的内容才是需要计算的C#表达式,括号外的三个点会被直接作为静态文本输出,最终渲染效果就是你需要的test...。

其他可选实现方式

如果有其他场景需求,也可以选择以下两种写法,效果完全一致:

  • 用Razor专属的<text>隐式文本标签包裹三个点,该标签不会渲染到最终的HTML中:
    @if (condition)
    {
        @str1<text>...</text>
    }
    
  • 在表达式内直接拼接字符串,不会修改原变量的值:
    @if (condition)
    {
        @(str1 + "...")
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:15:05