#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 так же, как и любой другой .Сетевое приложение взаимодействует со службой.