Blazor - 提交表单而不重新加载(没有 JS)
Posted
技术标签:
【中文标题】Blazor - 提交表单而不重新加载(没有 JS)【英文标题】:Blazor - submit form without reloading (without 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 按照 Brian Parker 的建议做:阅读 EditForm 一个内置的 Blazor 组件。转到文档,阅读并测试代码示例。 好的,我会试试的,谢谢大家。 【参考方案1】:您将需要一个编辑表单,但您不必求助于 JavaScript 来解决这个问题。
向您的 Blazor 应用程序添加一个类,并使用 HttpClient
类或 ClientWebSocket
类创建一个通信方法。
它们中的任何一个都可以与 API 或 MVC 端点通信,就像任何其他 .Net 应用程序与服务通信一样。
【讨论】:
以上是关于Blazor - 提交表单而不重新加载(没有 JS)的主要内容,如果未能解决你的问题,请参考以下文章