将RouteData用法从ASP.NET迁移到Blazor MAUI:处理“页面”定义问题

vshtjzan  于 5个月前  发布在  .NET
关注(0)|答案(1)|浏览(75)

我在Blazor中遇到了以下代码的问题:

obj_arv.isi = Page.RouteData.Values("idi");

字符串
这段代码在ASP.NET中运行良好,但是当我尝试在Blazor MAUI中使用它时,它给出一个错误,指出'Page' does not contain a definition for 'RouteData.'
任何关于解决此问题的指导都将不胜感激。谢谢!

6uxekuva

6uxekuva1#

因为你的代码Page.RouteData.Values是基于.NET framework的,这并不适用于Asp.net core。在blazor中,我们使用Parameter attribute来实现这一点。
有关详细信息,您可以查看:路由参数。
还有一个类似的问题,你可以检查:How to access current route using Blazor component

更新:

你能写出我在Blazor中写的代码吗?
在下面的示例中,text可选参数将路线段的值分配给组件的Text属性。如果该路段不存在,则Text的值设置为fantastic。

@page "/route-parameter-2/{text?}"

<h1>Blazor is @Text!</h1>

@code {
    [Parameter]
    public string? Text { get; set; }

    protected override void OnInitialized()
    {
        Text = Text ?? "fantastic";
    }
}

字符串

相关问题