将2个不同的Blazor页面放在同一代码后面



我有一个Blazor页面,需要在不同的情况下以显著不同的方式呈现。我目前正在使用一个非常大的";如果";声明在两者之间做出决定,但这非常笨拙。代码背后有一个重要的逻辑,我不想复制/粘贴。有没有一种方法可以将两个不同的UI页面建立在相同的代码基础上?

我尝试过用两个不同的页面隐藏代码,然后继承一个包含所有逻辑的基类,就像这样。

public partial class MyPageHorizontal : MyPageLogic
{
}
public partial class MyPageVertical : MyPageLogic
{
}
public partial class MyPageLogic : ComponentBase
{
//logic and properties go here
}

我得到错误";基类不同于在其他部分中声明的";

您的Razor文件需要从您的自定义Base继承,比如这个

@inherits IndexBase
@page "/"
@page "/IndexHoriz"
<h1>Hello, world!</h1>
Welcome to your new app.  This page should render horizontally
<SurveyPrompt Title="How is Blazor working for you?" />

Razor编译器将假定它们继承自ComponentBase,否则。

相关内容

  • 没有找到相关文章

最新更新