.NET Core Blazor App: come passare i dati tra le pagine?

asp.net-core asp.net-core-2.0 blazor html

Domanda

Ho appena iniziato a imparare come creare siti Web usando il modello Blazor. Ma non so come passare i dati da una pagina all'altra. È leggermente diverso dall'applicazione Web .NET CORE MVC e non sono riuscito a trovare un esempio.

    <p>Solve This problem: @rnd1 * @rnd2 = ?</p>

    <input type="text" name="result" bind="@result" />
    <input type="button" onclick="@calculate" value="Submit" />

Voglio inviare il valore nella mia casella di testo all'altra pagina. Come posso fare questo?

Risposta accettata

Puoi passarlo come parametro.

Nella pagina in cui vuoi navigare, aggiungi il parametro al tuo percorso:

@page "/navigatetopage/{myvalue}"

e assicurati che il parametro esista in quella pagina:

[Parameter] private string myvalue{ get; set; }

Nella stessa pagina puoi ritirarlo in: `

protected override void OnParametersSet() { //the param will be set now var test = myvalue; }

Ora nella tua pagina iniziale assicurati di accedere alla seconda pagina includendo il valore:

uriHelper.NavigateTo($"/navigatetopage/{result}");

Quel uriHelper deve essere iniettato in questo modo:

@inject Microsoft.AspNetCore.Blazor.Services.IUriHelper uriHelper




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché