Приложение .NET Core Blazor: как передавать данные между страницами?

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

Вопрос

Я только начал изучать, как создавать веб-сайты с использованием шаблона Blazor. Но я не знаю, как передавать данные с одной страницы на другую. Это немного отличается от веб-приложения .NET CORE MVC, и я не мог найти пример для этого.

    <p>Solve This problem: @rnd1 * @rnd2 = ?</p>

    <input type="text" name="result" bind="@result" />
    <input type="button" onclick="@calculate" value="Submit" />

Я хочу отправить значение в текстовое поле на другую страницу. Как я могу это сделать?

Принятый ответ

Вы можете передать его как параметр.

На странице, на которую вы хотите перейти, добавьте параметр на свой маршрут:

@page "/navigatetopage/{myvalue}"

и убедитесь, что параметр существует на этой странице:

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

На той же странице вы можете выбрать это в: `

protected override void OnParametersSet() { //the param will be set now var test = myvalue; }

Теперь на стартовой странице обязательно перейдите на вторую страницу, включая значение:

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

Этот uriHelper нужно вводить следующим образом:

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




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему