路由的常用场景
Web开发当中,路由是指页面之间的相互跳转,最常见的有以下两种情况:
- 浏览器输入地址或者点击链接
- 业务代码的定向跳转
不管通过哪种方式,其实本质上都是一样的,都是通过URL的来定位到对应的页面。
这里还是以WebAssembly的项目为基础来探索一下路由的功能吧。对项目结构不清楚的朋友可以先看上一篇Blazor 初体验。
浏览器输入地址或者点击链接
通过上一篇Blazor 初体验我们已经知道每个页面都有个@page指令来定义该页面对应的URL。 比如:
@page "/"
@page "/counter"
@page "/fetchdata"
这样页面和URL之间就有了对应关系(可以称之为路由表)。那如果我们输入的地址找不到对应的页面会发生什么情况呢?
笔者特意试了一下,输入http://localhost:5000/unkonw, 结果是这样的:
在此有必要再回顾一下App.razor页面:
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
<LayoutView Layout="@