blazor - 基于相同代码的 2 个不同的 Blazor 页面
问题描述
我有一个 Blazor 页面,需要在不同情况下以不同方式呈现。我目前正在使用一个非常大的“if”语句在两者之间做出决定,但这非常笨拙。我不想复制/粘贴代码背后的重要逻辑。有没有办法让 2 个不同的 UI 页面基于相同的代码?
我试过有 2 个不同的页面,后面有代码,然后继承一个包含所有逻辑的基类,就像这样。
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 继承。
推荐阅读
- kubernetes - 主机的 Google Kubernetes Engine 时区
- reactjs - 如何在 reactcommerce 的个人资料页面中隐藏 TagNav
- react-native - 没有一个反应原生教程来集成谷歌地图作品
- php - 在wordpress中取消进程wp远程获取请求
- android - 支持 BlackBerry 10 的 Android NFC 应用程序
- ios - 在容器视图中调整子视图控制器的大小(自动布局)
- sap-gui - SAP HANA Studio 更改 SAP GUI 分辨率
- google-colaboratory - 将秘密变量传递给 Google Colaboratory notebook
- javascript - req.body 在快递的 307 重定向上获得两次
- google-apps-script - 谷歌表格和谷歌分析认证