Ich habe gerade angefangen zu lernen, wie man Webseiten mit der Blazor-Vorlage erstellt. Aber ich weiß nicht, wie ich die Daten von einer Seite zur nächsten weitergeben soll. Es ist ein bisschen anders als .NET CORE MVC Web-Anwendung und ich konnte kein Beispiel dafür finden.
<p>Solve This problem: @rnd1 * @rnd2 = ?</p>
<input type="text" name="result" bind="@result" />
<input type="button" onclick="@calculate" value="Submit" />
Ich möchte den Wert in meinem Textfeld an die andere Seite senden. Wie kann ich das machen?
Sie können es als Parameter übergeben.
Fügen Sie auf der Seite, zu der Sie navigieren möchten, den Parameter zu Ihrer Route hinzu:
@page "/navigatetopage/{myvalue}"
und stellen Sie sicher, dass der Parameter auf dieser Seite vorhanden ist:
[Parameter]
private string myvalue{ get; set; }
Auf der gleichen Seite können Sie das in folgenden Sprachen aufnehmen:
protected override void OnParametersSet()
{
//the param will be set now
var test = myvalue;
}
Stellen Sie nun auf Ihrer Startseite sicher, dass Sie zur zweiten Seite navigieren, einschließlich des Werts:
uriHelper.NavigateTo($"/navigatetopage/{result}");
Dieser uriHelper muss folgendermaßen injiziert werden:
@inject Microsoft.AspNetCore.Blazor.Services.IUriHelper uriHelper
UPDATE PREVIEW-9 auf preview-9 solltest du navigationManager anstelle von uriHelper verwenden, es hat auch eine NavigateTo
Methode
@inject Microsoft.AspNetCore.Components.NavigationManager navigationManager