asp.net-core - .Net Core Blazor如何传递多个参数?

标签 asp.net-core blazor

单击TAB以传递多个参数。如何领取

<a href="../navigatetopage?id="1"&key="img"></a>

在要导航到的页面中,将参数添加到您的 route :
@page "/navigatetopage/"

[Parameter]
private string myvalue{ get; set; }

最佳答案

最简单的方法是使用Route参数而不是QueryString:

@page "/navigatetopage/{id:int}/{key}"

@code {
    [Parameter] public int Id{get;set;}
    [Parameter] public string Key{get;set;}

    ...
}

网址看起来像:
<a href="../navigatetopage/1/img"></a>

或者,如果您确实要查询字符串,请在OnParametersSet()中设置属性/字段:
@page "/navigatetopage/"

@code {
    public int Id{get;set;}
    public string Key{get;set;}

    protected override void OnParametersSet(){
        var qs= navManager.ToAbsoluteUri(navManager.Uri).Query;
        var query = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(qs);
        if (query.TryGetValue("id", out var id_str)) {
            if (Int32.TryParse(id_str, out var id)){
                this.Id = id;
            }
        }
        if (query.TryGetValue("Key", out var key)) {
            this.Key = key;
        }
    }
}

关于asp.net-core - .Net Core Blazor如何传递多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59449927/

相关文章:

c# - 模拟 Razor Pages 单元测试的 User ClaimsPrincipal

c# - 如何查找导致源生成器编译异常的问题?

javascript - 如何在 Blazor 中动态生成 CSS 规则

blazor - 如何检测客户端关闭了 Blazor 服务器端的浏览器(Web 套接字连接关闭)?

blazor - 如果 Blazor webassembly 中的 EditForm 组件为 "dirty",如何捕获

linux - 当 dotnet 工具无法启动(初始化失败)时,我应该设置什么环境变量来获取更详细的信息?

c# - 如果 context.Request.Scheme 设置为 "https",API 无法连接到 Azure 上的 IdentityServer4

c# - ActionResult 扩展不适用于 Page() ActionResult 方法

c# - Javascript SPA,使用 Hello.js 社交登录对用户进行身份验证,并从 ASPNET5 C# WebApi 后端验证 token

blazor - 在每个页面导航上执行 blazor header OnInitialized