学习ASP.NET Core Blazor编程系列一——综述
学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(上)学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(完)学习ASP.NET Core Blazor编程系列三——实体学习ASP.NET Core Blazor编程系列四——迁移学习ASP.NET Core Blazor编程系列五——列表页面学习ASP.NET Core Blazor编程系列七——新增图书学习ASP.NET Core Blazor编程系列八——数据校验学习ASP.NET Core Blazor编程系列九——服务器端校验学习ASP.NET Core Blazor编程系列十——路由(上) 五、通过路由传参通过上面的示例 , 我们使用<a>标签实现了页面之间的跳转 , 但是通常我们开发的Web应用程序 , 通过http的url进行页面跳转时 , 会进行参数传递 , 以方便我们跳转到的新页面进行一些前置操作 。下面我们示例来学习如何从“图书列表”页面 , 使用鼠标点击“编辑“按钮进行跳转时 , 传递一个参数(例如图书ID)给新的页面“AddBook” 。我们在“图书列表”页面中的将图书ID这个参数 , 在进行页面跳转时同步传递给“AddBook”页面 , 并且通过这个ID , 查询到相应的图书信息 , 显示在AddBook页面上 。
六、 通过path传参通过url传参一般有两种方式 , 一种是直接把参数组合在URL的路径(path)里 。路由器使用路由参数以相同的名称填充相应的组件参数 。路由参数名不区分大小写 。在下面的示例中 , 对 /AddBook/3
发出请求 , 参数Id将URL路径中的参数值赋给AddBook组件的 Id属性 。
1. 在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/@item.ID">编辑</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();}} 上面代码中 , <a>标签的代码是通过把Id组合到URL的路径(path)上 , 将图书的ID传递给AddBook页面 。
2. 在Visual Studio 2022的解决方案资源管理器中 , 找到 AddBook.razor
组件 , 使用鼠标左键双击 , 在文本编辑器中打开 , AddBook.razor组件中添加一行@page开头的路由模板 。本示例中
使用一个“/AddBook/{Id}” 路由模板来匹配Id,并且在代码中声明一个Id属性 , 并添加特性[Parameter] 。修改代码如下:
@page "/AddBook"@page "/AddBook/{Id}"@using BlazorAppDemo.Models@using Microsoft.EntityFrameworkCore@inject IDbContextFactory<BookContext> dbFactory<h3>AddBook</h3><EditForm Model=@addBook OnValidSubmit=@ValidSubmitInfoOnInvalidSubmit=@InvalidSubmitInfo><DataAnnotationsValidator /><ValidationSummary /><div>@Message</div><p> 图书名称:<InputText @bind-Value=https://www.huyubaike.com/biancheng/addBook.Name>
经验总结扩展阅读
- 我家有喜中金喜的结局?
- 电视剧善始善终中罗菲是谁的女儿?
- 俯卧撑做多少 俯卧撑做多少个算合格
- 2023年农历八月十七可以结婚吗 中式婚礼忌讳什么
- 77年属蛇女47岁以后命运如何,77年蛇女中晚年运势走向怎样
- 中性洗涤剂有哪些
- 10月25日四川今日雨雪继续“营业” 广元巴中达州等多地有中雨
- 10月25日海南仍有强风雨 东部中部等地局地有暴雨
- GT5如何设置中文(gta 2怎么调成中文)
- gtasanandreas怎么设置中文(gta中文官方教程)