Blazor — отправить форму без перезагрузки (без JS)

#c# #html #blazor #submit #reload

Вопрос:

Я прочитал много вопросов о том, как отправить форму, не перезагружая страницу. На каждый вопрос были даны ответы: использовать Ajax. В ASP.Сетевые приложения, где я должен использовать JavaScript, это нормально. Но в Blazor я не хочу использовать какой-либо Java-скрипт.

Можно ли использовать форму отправки без перезагрузки страницы в Blazor?

 @using Microsoft.AspNetCore.WebUtilities @inject NavigationManager navigationManager   lt;formgt;  lt;input @bind="ErrorCode"/gt;  lt;/formgt;  @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;  }  }  }  

Комментарии:

1. Вам следует ознакомиться с редакцией встроенного компонента Blazor.

2. Это цель Blazor для того, чтобы клиент постоянно поддерживал связь с Сервером.

3. Как мне использовать форму редактирования в Blazor, как я использовал html lt;формуgt; ?

4. Сделайте так, как предложил Брайан Паркер: ознакомьтесь с EditForm встроенным компонентом Blazor. Перейдите к документам, прочитайте и протестируйте образцы кода.

5. Хорошо, я попробую, спасибо, ребята.

Ответ №1:

Вам понадобится форма редактирования, но для решения этой проблемы вам не придется прибегать к javascript. Добавьте класс в свое приложение blazor и создайте метод связи, используя либо HttpClient класс, либо ClientWebSocket класс. Любой из них может взаимодействовать с конечной точкой API или MVC так же, как и любой другой .Сетевое приложение взаимодействует со службой.