學習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>標簽實現了頁面之間的跳轉 , 但是通常我們開發(fā)的Web應用程序 , 通過http的url進行頁面跳轉時 , 會進行參數傳遞 , 以方便我們跳轉到的新頁面進行一些前置操作 。下面我們示例來學習如何從“圖書列表”頁面 , 使用鼠標點擊“編輯“按鈕進行跳轉時 , 傳遞一個參數(例如圖書ID)給新的頁面“AddBook” 。我們在“圖書列表”頁面中的將圖書ID這個參數 , 在進行頁面跳轉時同步傳遞給“AddBook”頁面 , 并且通過這個ID , 查詢到相應的圖書信息 , 顯示在AddBook頁面上 。
六、 通過path傳參通過url傳參一般有兩種方式 , 一種是直接把參數組合在URL的路徑(path)里 。路由器使用路由參數以相同的名稱填充相應的組件參數 。路由參數名不區(qū)分大小寫 。在下面的示例中 , 對 /AddBook/3發(fā)出請求 , 參數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 >編輯</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日四川今日雨雪繼續(xù)“營業(yè)” 廣元巴中達州等多地有中雨
- 10月25日海南仍有強風雨 東部中部等地局地有暴雨
- GT5如何設置中文(gta 2怎么調成中文)
- gtasanandreas怎么設置中文(gta中文官方教程)
