将对象绑定到Blazor路由

时间:2019-10-24 13:29:53

标签: c# asp.net-core blazor

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

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

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

}

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

1 个答案:

答案 0 :(得分:0)

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

相反,您应该使用Component Attribute Parameter,如以下代码片段所示:

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

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

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

希望这对您有帮助...