.NET Core Blazor App: Wie übergebe ich Daten zwischen Seiten?

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

Frage

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?

Akzeptierte Antwort

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 existiert:

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

Auf der gleichen Seite können Sie das in: `

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 mit dem Wert navigieren:

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

Dieser uriHelper muss so eingespritzt werden:

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




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum