Je viens de commencer à apprendre à créer des sites Web avec l’utilisation du modèle Blazor. Mais je ne sais pas comment passer les données d'une page à une autre. C'est un peu différent de l'application Web .NET CORE MVC et je n'ai pas pu trouver d'exemple pour cela.
<p>Solve This problem: @rnd1 * @rnd2 = ?</p>
<input type="text" name="result" bind="@result" />
<input type="button" onclick="@calculate" value="Submit" />
Je veux envoyer la valeur dans ma zone de texte à une autre page. Comment puis-je faire ceci?
Vous pouvez le passer comme paramètre.
Dans la page vers laquelle vous souhaitez naviguer, ajoutez le paramètre à votre itinéraire:
@page "/navigatetopage/{myvalue}"
et assurez-vous que le paramètre existe dans cette page:
[Parameter]
private string myvalue{ get; set; }
Dans la même page, vous pouvez le récupérer dans:
protected override void OnParametersSet()
{
//the param will be set now
var test = myvalue;
}
Maintenant, dans votre page de démarrage, assurez-vous de naviguer vers la deuxième page, y compris la valeur:
uriHelper.NavigateTo($"/navigatetopage/{result}");
Cet uriHelper doit être injecté comme ceci:
@inject Microsoft.AspNetCore.Blazor.Services.IUriHelper uriHelper
UPDATE PREVIEW-9 sur preview-9 vous devez utiliser navigationManager au lieu d'uriHelper, il a également une méthode NavigateTo
@inject Microsoft.AspNetCore.Components.NavigationManager navigationManager