都是在@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参数都是可选的,所以在属性定义中需要加上一个?号

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐