gpt4 book ai didi

c# - 使用参数在 blazor 中重定向

转载 作者:太空狗 更新时间:2023-10-30 00:37:16 26 4
gpt4 key购买 nike

您好,如何使用参数重定向到 Blazor 中的另一个页面?

@page "/auth"
@using Microsoft.AspNetCore.Blazor.Services;
@inject AuthService auth
@inject IUriHelper urihelper;

<input type="text" bind="@Username" />
<button onclick="@AuthAsync">Authenticate</button>



@functions{

public string Username { get; set; }
public string url = "/home";

public async Task AuthAsync()
{
var ticket=await this.auth.AuthenticateAsync(Username);
urihelper.NavigateTo(url); //i see no overload that accepts parameters
}
}

在这种情况下,我想导航到 /home 页面,给它一个字符串作为参数。

最佳答案

这样做:

  • 像这样创建一个 home.cshtml 文件页面:请注意,由于尚不支持可选参数,因此使用了两个 @page 指令。第一个允许在没有参数的情况下导航到组件。第二个@page 指令采用 {username} 路由参数并将值分配给 Username 属性。

Pages/home.cshtml

@page "/home"
@page "/home/{username}"

<h1>@Username is authenticated!</h1>

@functions {
// Define a property to contain the parameter passed from the auth page
[Parameter]
private string Username { get; set; };
}
  • 在您的 auth.cshtml 中执行此操作
    @functions{

public string Username { get; set; }
public string url = "/home";

public async Task AuthAsync()
{
var ticket=await this.auth.AuthenticateAsync(Username);
// Attach the parameter to the url
urihelper.NavigateTo(url + "/" + Username);
}
}

希望这有助于...

关于c# - 使用参数在 blazor 中重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54303437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com