برای اینکه در Blazor بتوانید به راحتی پارامترهای QueryString رو دریافت کنید. کافی است موارد زیر را رعایت کنید:
- روش اول
@page "/query-string/{UrlData}"
[Parameter] public string UrlData { get; set; }
در نهایت به شکل زیر میشود:
@page "/query-string" @page "/query-string/{UrlData}" <h3>Query string data: @UrlData</h3> @code { [Parameter] public string UrlData { get; set; } }
2- روش دوم
کلاس زیر را در کامپوننت مربوطه اینجکت کنید:
@inject NavigationManager navigationManager
متد OnInitialized را override کنید:
protected override void OnInitialized() { var uri = new Uri(navigationManager.Uri); //Get query strings var queryStrings = System.Web.HttpUtility.ParseQueryString(uri.Query); Param1 = queryStrings["p1"]; Param2 = queryStrings["p2"]; }
تمام.
شکل کامل کد به فرم زیر است:
@page "/query-string" @page "/query-string/{UrlData}" @inject NavigationManager navigationManager <h3>Query string data: @UrlData</h3> <p> QueryString 1: @Param1 </p> <p> QueryString 2: @Param2 </p> @code { [Parameter] public string UrlData { get; set; } public string Param1 { get; set; } public string Param2 { get; set; } protected override void OnInitialized() { var uri = new Uri(navigationManager.Uri); //Get query strings var queryStrings = System.Web.HttpUtility.ParseQueryString(uri.Query); Param1 = queryStrings["p1"]; Param2 = queryStrings["p2"]; } }