1.简单介绍
Blazor中的[SupplyParameterFromQuery]特性可以使Blazor的页面(带有@page指令的页面)获得已经解析好的查询参数,为Blazor的使用者提供了一定的便利
2.演示
在Blazor页面的代码中可以添加带有[SupplyParameterFromQuery]特性的属性
[SupplyParameterFromQuery]
[Parameter]
public int PageSize { get; set; }
[SupplyParameterFromQuery(Name ="pindex")]
[Parameter]
public int PageIndex { get; set; }
[SupplyParameterFromQuery(Name="continent")]
[Parameter]
public string[] Continents { get; set; }
1) PageSize属性
查询字符串中必须使用同名的pagesize做为键
2) PageIndex属性
特性 [SupplyParameterFromQuery(Name ="pindex")]有Name属性,
这样查询字符串中就可以使用pindex做为键,不需要用同名的pageindex了
3) Continents属性
这个查询参数属性也可以是一个数组,
同时特性 [SupplyParameterFromQuery(Name ="continent")]有Name属性
指定查询字符串中使用continent作为键
4) 查询字符串
?pagesize=10&pindex=1&continent=亚洲&continent=欧洲
也可以在导航中直接设定一下查询字符串作为测试,比如
<NavLink class="nav-link" href="queryolympicsmetals?pagesize=10&pindex=1&continent=亚洲&continent=欧洲">
<span class="oi oi-list-rich" aria-hidden="true"></span> Query String
</NavLink>
这边使用了Fluent UI的导航,
<FluentNavLink Icon="@(new Icons.Regular.Size20.PlugConnectedSettings())" Href="/queryolympicsmetals?pagesize=10&pindex=1&continent=亚洲&continent=欧洲">OlympicsMetals</FluentNavLink>
3. 运行一下
运行一下程序,当导航到特定页面时,
3.1 浏览器导航栏
3.2 页面表格
这样,数据就可以根据传递的查询参数进行过滤了
4.总结
以上简单尝试了一下Blazor中的[SupplyParameterFromQuery] 特性,还有一个Blazor新的特性,名字是[SupplyParameterFromForm],后续也尝试一下
如果哪里有错误,麻烦告之,谢谢谢谢!