Blazor(.NET 6服务器端)组件编译报错CS0111:BuildRenderTree重复定义
解决Blazor组件CS0111编译错误:BuildRenderTree重复定义
错误原因很明确:你的Razor模板(@this.Title)会被Blazor编译器自动生成对应的BuildRenderTree方法实现,而你又手动重写了同名同参数的BuildRenderTree方法,导致类型中出现重复定义,触发CS0111错误。
提供两种解决方式:
方案一:使用Razor模板语法实现(推荐,更简洁)
直接在模板里用HTML标签包裹内容,不需要手动重写BuildRenderTree:<h1>@Title</h1> @code { [Parameter] public string Title { get; set; } }方案二:手动控制渲染逻辑
如果需要精细控制渲染流程,删除模板中的@this.Title,把内容输出逻辑放到重写的BuildRenderTree里:@code { [Parameter] public string Title { get; set; } protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder builder) { builder.OpenElement(0, "h1"); builder.AddContent(1, Title); builder.CloseElement(); } }
内容的提问来源于stack exchange,提问作者Alexander Christov
相关产品推荐
相关产品推荐

