免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

中 學習ASP.NET Core Blazor編程系列十——路由

學習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>

經驗總結擴展閱讀