将对象绑定到Blazor路由

问题描述 投票:0回答:1

我想将我的页面URL与一个代表请求过滤器的对象(productName,categoryId等)绑定。如何将它们与查询字符串绑定在一起?

@page "/products/{filter}" ... @code {

public Filter filter = new Filter()
{
    SearchedName = "Test",
    CategoryId = 1
};

}

我想要类似的东西。在Asp.Net Core中,我可以将对象与表单和查询字符串绑定在一起,但在blazor中,我遇到了一些麻烦。您能为此提供解决方案吗?预先感谢!

c# asp.net-core blazor
1个回答
0
投票

我相信您目前无法将复杂的内容作为Rout参数传递。

相反,您应该使用Component Attribute Parameter作为此代码片段演示:

在父组件中实例化类型为Filter的变量,并将其分配给Products组件的Filter Attribute属性

<products Fitler = "@AFilterInstance" />,您应该在其中定义一个参数属性,该属性将存储传递的值,如下所示:

[Parameter]
public Filter Filter { get; set; }

希望这有帮助...

© www.soinside.com 2019 - 2024. All rights reserved.