首页 > 解决方案 > Blazor 应用程序 - 在启动时将查询字符串传递给应用程序

问题描述

我有一个 Blazor 应用程序,如何在启动时将查询字符串传递给应用程序?我想在启动时预填充表单字段并使用查询字符串值查询数据库。

像这样的东西` http://www.somesite.com?Company=Google

我已经看到以下内容 - 在页面中使用查询字符串。但是如何在启动时接受查询字符串?

https://www.mikesdotnetting.com/article/340/working-with-query-strings-in-blazor

在应用程序页面或代码(Startup.cs / Program.cs)中的哪个位置检查查询字符串。

提前谢谢

标签: blazor-server-side

解决方案


这篇 Microsoft 文章将比我更好地解释它:

https://docs.microsoft.com/en-us/aspnet/core/blazor/routing?view=aspnetcore-3.1

以下是相关部分的摘要。

在您的页面上,您可以拥有:

@page "/Users/{text}"

然后在您的代码中创建一个参数:

[Parameter]
public string Company { get; set; }

然后,如果您导航到:yoursite.com/Users/Google

您的参数将被填充,您可以在 OnInitializedAsync 方法中进行任何加载/或其他预渲染。

// this is from one of my projects
protected override async Task OnInitializedAsync()
{
    // load the Categories
    this.Categories = await HelpCategoryService.GetHelpCategoryList();
}

您可以在同一页面上有多个路线,因此您可以:

@page "/Users/
@page "/Users/{Company:string}"

也许这为您指明了正确的方向。


推荐阅读