d37ed44106
- Update gestione cambio titolo automatico
52 lines
1.6 KiB
C#
52 lines
1.6 KiB
C#
using Microsoft.AspNetCore.Components;
|
|
using Microsoft.AspNetCore.WebUtilities;
|
|
|
|
namespace MP.SPEC.Extensions
|
|
{
|
|
public static class NavigationManagerExtension
|
|
{
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// Estensione metodo NavigationManager x recupero querystring
|
|
///
|
|
/// https://code-maze.com/query-strings-blazor-webassembly/
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <param name="navManager"></param>
|
|
/// <param name="key"></param>
|
|
/// <returns></returns>
|
|
public static T ExtractQueryStringByKey<T>(this NavigationManager navManager, string key)
|
|
{
|
|
var uri = navManager.ToAbsoluteUri(navManager.Uri);
|
|
QueryHelpers.ParseQuery(uri.Query)
|
|
.TryGetValue(key, out var queryValue);
|
|
|
|
if (typeof(T).Equals(typeof(int)))
|
|
{
|
|
int.TryParse(queryValue, out int result);
|
|
return (T)(object)result;
|
|
}
|
|
|
|
if (typeof(T).Equals(typeof(string)))
|
|
return (T)(object)queryValue.ToString();
|
|
|
|
return default;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupero base page
|
|
///
|
|
/// https://stackoverflow.com/questions/50102726/navigationmanager-get-current-url-in-a-blazor-component
|
|
/// </summary>
|
|
/// <param name="navigation"></param>
|
|
/// <returns></returns>
|
|
public static string Page(this NavigationManager navigation)
|
|
{
|
|
return navigation.Uri.Substring(navigation.BaseUri.Length);
|
|
}
|
|
|
|
#endregion Public Methods
|
|
}
|
|
}
|