Click the a TAB to pass multiple parameters. How to receive
<a href="../navigatetopage?id="1"&key="img"></a>
In the page you want to navigate to, add the parameter to your route:
@page "/navigatetopage/"
[Parameter]
private string myvalue{ get; set; }
The easiest way is to use Route parameters instead of QueryString:
@page "/navigatetopage/{id:int}/{key}"
@code
{
[Parameter]
public int Id { get; set; }
[Parameter]
public string Key { get; set; }
}
And the url looks like:
<a href="../navigatetopage/1/img"></a>
Or if you do want to query string, set the property / field within OnParametersSet()
:
@page "/navigatetopage/"
@code
{
public int Id { get; set; }
public string Key { get; set; }
protected override void OnParametersSet()
{
var qs = navManager.ToAbsoluteUri(navManager.Uri).Query;
var query = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(qs);
if (query.TryGetValue("id", out var idStr) && int.TryParse(idStr, out var id))
{
Id = id;
}
if (query.TryGetValue("Key", out var key))
{
Key = key;
}
}
}