【问题标题】:Blazor - submit form without reloading (without JS)Blazor - 提交表单而不重新加载(没有 JS)
【发布时间】:2021-12-12 13:10:47
【问题描述】:

我已经阅读了很多关于如何在不重新加载页面的情况下提交表单的问题。每个问题的答案都是使用 Ajax。在 ASP.Net 应用程序中,我必须使用 JavaScript,没关系。但在 Blazor 中,我不想使用任何 Java 脚本。

是否可以使用表单提交,而无需在 Blazor 中重新加载页面?

@using Microsoft.AspNetCore.WebUtilities
@inject NavigationManager navigationManager

    <form>
        <input @bind="ErrorCode"/>
    </form>
    @code
    {
        System.Uri uri;

        protected override void OnInitialized()
        {
            uri = navigationManager.ToAbsoluteUri(navigationManager.Uri);
            if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("ErrorCode", out var errorCodeValue))
            {
                ErrorCode = errorCodeValue;
            }
        }
    }

【问题讨论】:

  • 你应该阅读 EditForm 一个内置的 Blazor 组件。
  • 这是 Blazor 的目的,让客户端不断与服务器通信。
  • 如何像使用 html
    一样在 Blazor 中使用 EditForm?
  • 按照 Brian Parker 的建议做:阅读 EditForm 一个内置的 Blazor 组件。转到文档,阅读并测试代码示例。
  • 好的,我会试试的,谢谢大家。

标签: c# html blazor submit reload


【解决方案1】:

您将需要一个编辑表单,但您不必求助于 JavaScript 来解决这个问题。 向您的 Blazor 应用程序添加一个类,并使用 HttpClient 类或 ClientWebSocket 类创建一个通信方法。 它们中的任何一个都可以与 API 或 MVC 端点通信,就像任何其他 .Net 应用程序与服务通信一样。

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 2017-06-23
    • 2013-10-14
    • 2017-09-19
    相关资源
    最近更新 更多