上 学习ASP.NET Core Blazor编程系列十——路由( 二 )

任意项都可用作 <NotFound> 标记的内容,例如其他交互式组件 。
在VisualStudio 2022的菜单栏上,找到“调试-->开始调试”或是按F5键 , Visual Studio 2022会生成BlazorAppDemo应用程序,并在浏览器中打开Home页面,我们浏览器的地址栏中输https://localhost:7110/BookEdit 。由于我们的应用程序中没有BookEdit这个组件或是页面 , 我们将会看到我们刚才定义的404页面,这个页面被渲染出来了 。如下图 。

上 学习ASP.NET Core Blazor编程系列十——路由

文章插图
注意:如果是在浏览器里敲入url按回车切换页面,会发生一次http请求 , 然后重新渲染blazor应用 。
四、使用a标签进行页面跳转<A>标签作为超链接是我们在进行Web应用程序开发中最常用的一种页面跳转方式,blazor同样支持 。         在Visual Studio 2022的解决方案资源管理器中,找到 BookIndex.razor 组件 , 使用鼠标左键双击,在文本编辑器中打开 , 然后修改代码如下:
@page "/BookIndex"@using BlazorAppDemo.Models@using Microsoft.EntityFrameworkCore@inject IDbContextFactory<BookContext> dbFactory<PageTitle>图书列表</PageTitle><h3>图书列表</h3><table class="table-responsive" width="90%"><tr><td>Name</td><td>Author</td><td>Price</td><td>ReleaseDate</td><td>StockQty</td><td>Qty</td><td>操作</td></tr>@foreach (var item in books){<tr><td>@item.Name</td><td>@item.Author</td><td>@item.Price</td><td>@item.ReleaseDate</td><td>@item.StockQty</td><td>@item.Qty</td><td><a href="https://www.huyubaike.com/AddBook">编辑</a></td></tr>}</table>@code {privatestatic BookContext _context;private List<Book> books = new List<Book>();protected override async Task OnInitializedAsync(){_context = dbFactory.CreateDbContext();books=_context.Book.ToList();await base.OnInitializedAsync();}}在Visual Studio 2022的菜单栏上,找到“调试-->开始调试”或是按F5键,Visual Studio 2022会生成BlazorAppDemo应用程序 , 并在浏览器中打开Home页面,我们我们使用鼠标左键点击左边菜单上的“图书列表”菜单项,浏览器会显示我们修改过的图书列表页面,在这个页面中多了一个“编辑”的按钮,将鼠标指针悬停在“编辑”链接上可以查看,链接背后的URL值 。如下图 。
上 学习ASP.NET Core Blazor编程系列十——路由

文章插图
使用鼠标左键,点击“编辑”,页面将会从图书列表页面中跳转到AddBook页面,但是没有任何我们想要的数据 , 这个问题留到下一步给出解决方案 。如下图 。
上 学习ASP.NET Core Blazor编程系列十——路由

文章插图
注意:使用标签<a>在页面之间进行跳转不会发生http请求传输到后台,经过服务器处理之后,再传输到前面进行渲染,而是直接在前端将页面渲染出来 。

推荐阅读