我的组件想要从URL www.url.com/test?Foo=bar访问路由参数Foo.但是,我的组件没有指定@页面"..."在.razor号文件的顶部.

我try 访问参数如下,但没有成功:

[SupplyParameterFromQuery]
public string? Foo{ get; set; }

...

protected override async Task OnAfterRenderAsync(bool firstRender)
{
    if (firstRender)
    {
        Console.WriteLine(Foo); //outputs a blank line
    }
    ...
}

我不确定@页面是否是限制,因为我在一些帖子中读到,这解决了其他人的问题.当然,一定有办法访问url-param.

推荐答案

使用MyNavigationManager:


@inject NavigationManager MyNavigationManager


...

protected override async Task OnAfterRenderAsync(bool firstRender)
{
    if (firstRender)
    {
        Console.WriteLine(GetQueryParm("Foo")); //outputs a blank line
    }
    ...
}

string GetQueryParm(string parmName)
{
    var uriBuilder = new UriBuilder(MyNavigationManager.Uri);
    var q = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);
    return q[parmName] ?? "";
}

给自己的荣誉:NavigationManager - Get current URL in a Blazor component

Csharp相关问答推荐

数组被内部函数租用时,如何将数组返回给ArrayPool?

在多对多关系上不删除实体

ASP.NET Core 8.0 JWT验证问题:尽管令牌有效,但SecurityTokenNoExpirationError异常

. NET JSON属性自定义所需逻辑

AsNoTrackingWithIdentitySolutions()似乎不起作用?

Int和uint相乘得到LONG?

SortedSet.Remove()不会删除SortedSet.Min返回的元素

具有以接口为其类型的属性的接口;类指定接口的实现,但无效

Selify只更改第一个下拉菜单,然后忽略REST-C#

等待一个等待函数

在使用AWS SDK for.NET时,如何判断S3是否已验证我的对象的校验和?

获取混淆&Quot;模糊引用&Quot;错误

C#USB条形码 scanner 在第二次扫描时未写入行尾字符

从MudAutoComplete打开对话框,列表仍然可见

在.Net 8 Visual Studio 2022中启用本机AOT发布时发布失败

使用SQL Server 2022+时,我是否必须将代码从SqlConnection类对象中迁移出来?

如何查找Span;T&>是否包含相同顺序的其他Span<;T&>

C#Web服务转换为 node /Express不工作

如何提高C#中比较大 struct 的性能?

MS Project读取项目自定义域