.NET Core Blazor App: Comment transmettre des données entre pages?

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

Question

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?

Réponse acceptée

Vous pouvez le transmettre en tant que 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 trouver 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}");

Ce uriHelper doit être injecté comme ceci:

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




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi