c# - 所有 Blazor 页面的公共(public)属性?

标签 c# asp.net asp.net-core blazor blazor-server-side

我需要为每个页面提供一些属性。例如,

private MyClass _myclass;
protected MyClass MyClass => _myclass ??= InitMyClass();

而不是将线条放在每个 Razor 页面上。 Blazor 的惯用方法是什么?基类(如何?)或在 _Host.cshtml 中做一些技巧?

最佳答案

A base class (how?)

创建基类:

public class MyBase : ComponentBase 
{
    private MyClass _myclass;
    protected virtual MyClass MyClass => _myclass ?? ... ;
}

然后使用@inherits指令来扩展基类:

@page "/counter"
@inherits MyBase

<h1>Counter</h1>
...

关于c# - 所有 Blazor 页面的公共(public)属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58703989/

相关文章:

c# - 一次只允许每个用户登录一次

c# - 使用 C# 将 HTML 控件(Div 或表)转换为图像

javascript - 失去 gridview 中文本框的焦点

asp.net-core - 带有存储在 cookie 中的刷新 token 的 SPA - 如何使用 IdentityServer4 进行配置?

asp.net-core - IhttpActionResult 的 ASP.NET Core Web Api 错误

c# - 程序兼容性助手认为我的应用程序是安装程序

c# - 在 Gtk 中,如何从按 x 和 y 坐标排序的 TreeView 中获取路径?

c# - 接受触摸而不移动鼠标?

c# - 如何将参数从 ASP.NET 传递到 SSRS 报告?

c# - 找不到 ASP.NET Core 2 MySQL 8.0.8-dmr Entity Framework 扩展