我正在创建一个 razor 页面 (.NET 6) 供用户结账,但是当我尝试让我的 razor 页面继承我的 C# 基类时,我收到错误 - (CS0115)MyRazorPage.BuildRenderTree(RenderTreeBuilder):找不到合适的方法来覆盖
我不确定发生了什么,因为我还没有重载任何方法。我最近重命名了我的项目,所以我想知道这是否可能是我的 csproj 文件的问题。
如有任何帮助,我们将不胜感激。
剃须刀页面:
@inherits CheckoutBase
<h3>Checkout</h3>
@code {
}
基类:
namespace MyBlazorProject.Pages
{
public class CheckoutBase
{
}
}
csproj 文件:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.16" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.16" PrivateAssets="all" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MyBlazorProject.Models\MyBlazorProject.Models.csproj" />
</ItemGroup>
</Project>
您的基类必须继承自实现
protected BuildRenderTree()
的类。通常的方式是继承自ComponentBase:
public class CheckoutBase : ComponentBase
{
}