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?
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 raccoglierlo in:
protected override void OnParametersSet()
{
//the param will be set now
var test = myvalue;
}
Ora nella tua pagina iniziale assicurati di passare alla seconda pagina incluso il valore:
uriHelper.NavigateTo($"/navigatetopage/{result}");
Che uriHelper deve essere iniettato in questo modo:
@inject Microsoft.AspNetCore.Blazor.Services.IUriHelper uriHelper
UPDATE PREVIEW-9 su preview-9 dovresti usare navigationManager invece di uriHelper, ha anche un metodo NavigateTo
@inject Microsoft.AspNetCore.Components.NavigationManager navigationManager