还有更多的阅读!
您正在阅读的 Blazor 文档并非旨在解释所有路由。它只解释了 Blazor 如何使用 ASP.NET Core 路由。
更多关于 ASP.NET Core 路由
绑定到 ASP.NET Core 路由
在 Blazor Web 应用的 Startup.cs 文件中,您将看到类似以下内容:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
MapBlazorHub()
是 Blazor 如何与 ASP.NET Core 路由联系在一起的。
Blazor 路由使用与 MVC 和 Razor 页面相同的路由器。
例子:
MVC -> [Route("customer/{id:int}")]
(控制器上的属性)
Razor Pages -> @page "/customer/{id:int}"
(页面指令)
Blazor -> @page "/customer/{id:int}"
(页面指令)
一步步
示例路线:@page "/customer/{id:int}"
- 路线由最终用户导航到
- URL 由 ASP.NET Core 路由器匹配到端点
- URL 被标记为路由值
- 由
"{id:int}"
Route Constraints 处理,并接受或拒绝,在这种情况下,转换为强类型int
- 路由值被打包并提供给您的代码(控制器、组件等),并提供客户 ID
1
作为参数。
警告:这是高级别的并且掩盖了一些关键的事情,请继续阅读更多关于 ASP.NET Core 路由