Blazor中传递数据的几种情况总结(一):通过路由传递参数

都是在@rendermode InteractiveServer下
通过路由传递参数:

传出页面:

<a href="@($"/{i}")">
@code{
private int i;
}

传入页面:

@page "/{Id:int}"
<p>@Id</p>
@code{
 [Parameter]
 public int Id { get; set; } 
 }

值得一提的是,设置了带有参数的路由后,就必须送出参数,不然会返回404;但也可以设置可选参数,只需要在传入页面上写:

@page "/{Id:int?}"
 
@code{
[Parameter]
 public int? Id { get; set; } 
 }

这样参数就成为可选的,可以根据情况决定是否送出参数。

在路由中还可以增加查询参数(Query String)来送出字符串参数
只要在路由后面附上:

<a href="@($"/{i}?name=Alex)">

在传入页面添加:

[SupplyParameterFromQuery]
public string? Name{set;get;}

就可以把值“Alex”传送到Name,传入页面的Name和传出路由中的name,只要保持字面一致就可以,大小写可以不同。且可以传递多个参数,只要在路由中用&分割,在传入页面中按顺序设置多个属性就可以了。Query String参数都是可选的,所以在属性定义中需要加上一个?号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值