如何在不使用服务的情况下在 Blazor 中将模型从一个页面传递到另一个页面?

How to pass a Model from page to page in Blazor without using a service?

我需要将我在一个页面中创建的模型传递到另一个页面,但我不想为其创建服务。除了服务之外,Blazor 中是否有任何我可以使用的功能?

我知道您问的是在没有服务的情况下执行此操作,但我认为服务是让用户保持状态的方式。

1) 创建您的服务 class(例如:AppState)。

public class AppState
{
    public YourSpecialModel model {get; set}
}

2) 在您的 Startup.cs:

中将您的服务注册为单例或 Scoped
 services.AddScoped<AppState>();

3) 在您需要的页面上注入您的服务

  [Inject]
    protected AppState appState { get; set; }

4) 从所有页面的 appState 设置和获取模型。