我想将我的页面URL与一个代表请求过滤器的对象(productName,categoryId等)绑定。如何将它们与查询字符串绑定在一起?
@page "/products/{filter}"
...
@code {
public Filter filter = new Filter()
{
SearchedName = "Test",
CategoryId = 1
};
}
我想要类似的东西。在Asp.Net Core中,我可以将对象与表单和查询字符串绑定在一起,但在blazor中,我遇到了一些麻烦。您能为此提供解决方案吗?预先感谢!
我相信您目前无法将复杂的内容作为Rout参数传递。
相反,您应该使用Component Attribute Parameter作为此代码片段演示:
在父组件中实例化类型为Filter的变量,并将其分配给Products组件的Filter Attribute属性
<products Fitler = "@AFilterInstance" />
,您应该在其中定义一个参数属性,该属性将存储传递的值,如下所示:
[Parameter]
public Filter Filter { get; set; }
希望这有帮助...