.NET Core Blazor App:如何在页面之间传递数据?

jor*_*rjj 7 html asp.net-core asp.net-core-2.0 blazor

我刚开始学习如何使用Blazor模板制作网站.但我不知道如何将数据从一个页面传递到另一个页面.它与.NET CORE MVC Web应用程序有点不同,我找不到这样的例子.

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

    <input type="text" name="result" bind="@result" />
    <input type="button" onclick="@calculate" value="Submit" />
Run Code Online (Sandbox Code Playgroud)

我想将文本框中的值发送到另一个页面.我怎样才能做到这一点?

Flo*_*res 10

您可以将其作为参数传递.

在要导航到的页面中,将参数添加到路线中:

NavigateTo

并确保该页面中存在该参数:

NavigateTo

在同一页面中,您可以选择:`

NavigateTo

现在在您的开始页面中确保导航到包含值的第二页:

NavigateTo

那个uriHelper需要像这样注入:

NavigateTo

  • 有没有办法在进行导航时将“对象”传递到下一页?我尝试了“Parameter”和“CascadeParameter”,但无法访问它。 (2认同)
  • 如果您想传递自定义模型,有没有办法做到这一点? (2认同)
  • @杰里米S。在页面之间传递整个数据模型是不好的,因为它可能为恶意攻击或被盗数据开辟道路。当您通过 URL 传递参数时,最好使用引用数据的内容(通常只是某种数字)而不是数据本身。然后,您可以使用该引用来检索新页面所需的数据。还可以考虑在此过程中使用数据传输对象 (DTO)。 (2认同)