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

VS2022中使用Blazor无法正确引用代码后置类的问题

解决Blazor分部类中@title不存在的问题

问题根源

将组件的@code块移到分部类后出现@title在当前上下文中不存在错误,核心是分部类的定义不符合Blazor组件的规则,常见问题包括:

  • 分部类的类名与razor组件文件名不匹配
  • 属性的访问修饰符不是public或protected(Blazor模板仅能访问公共/受保护成员)
  • 分部类未正确继承ComponentBase(Blazor组件的默认基类)

正确的实现方式

假设你的组件文件名为MyCustomComponent.razor,对应的分部类文件需命名为MyCustomComponent.razor.cs,代码如下:

public partial class MyCustomComponent : ComponentBase
{
    // 必须用public/protected修饰,模板才能访问
    public string Title { get; set; }
}

同时调整razor模板中的变量名(C#大小写敏感):

<div class="outer">
    <span>@Title</span>
</div>

关键注意点

  • 分部类文件名必须与razor组件文件名完全一致,后缀为.razor.cs
  • 分部类必须继承ComponentBase
  • 模板中引用的属性,在分部类里必须是public或protected修饰
  • 严格匹配变量名的大小写,C#区分大小写

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 05:04:53