Saltar al contenido

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript... y lo que venga ;)

17 años online

el blog de José M. Aguilar

Inicio El autor Contactar

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web
ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript...

¡Microsoft MVP!
martes, 5 de marzo de 2024
Blazor

En Blazor es posible acceder a valores de parámetros de la query string exclusivamente desde componentes de tipo página, es decir, aquellos definidos con la directiva @page.

Para ello, bastaba con declarar una propiedad pública y decorarla con los atributos [Parameter] y [SupplyParameterFromQuery]. Por ejemplo, si desde una página quisiésemos obtener el valor del parámetro term de la query string, podríamos hacerlo de la siguiente forma:


@page "/search"

<p>Searching term: @Term</p>

@code {

    [Parameter]
    [SupplyParameterFromQuery]
    public string Term { get; set; }
}

Sin embargo, como sabéis, esto no funcionaba si intentábamos acceder así a estos parámetros desde componentes que no fueran páginas, es decir, que no fueran instanciados por el sistema de routing.

Pues bien, a partir de Blazor 8, el atributo [SupplyParameterFromQuery] puede ser utilizado sobre propiedades de componentes de cualquier tipo, no sólo de aquellos decorados con la directiva @page. Por tanto, cualquier tipo de componente podrá acceder directamente a parámetros de la query string, evitando tener que pasárselos de forma manual o usando valores en cascada.

También es interesante destacar que si usamos [SupplyParameterFromQuery], ya no será necesario añadir el atributo [Parameter], como ocurría en versiones anteriores, así que nos ahorramos de paso una línea de código 😉

[SupplyParameterFromQuery]
public string Term { get; set; }
...

Publicado en Variable not found.

Aún no hay comentarios, ¡sé el primero!