Blazor - StateHasChanged не обновляется после нажатия кнопки Radzen OnClickC#

Место общения программистов C#
Ответить
Anonymous
 Blazor - StateHasChanged не обновляется после нажатия кнопки Radzen OnClick

Сообщение Anonymous »

В моем серверном приложении Blazor у меня есть компонент с кнопкой, при нажатии которой отображается панель «Загрузка», пока я проверяю, не заполнены ли все обязательные текстовые поля.

Код: Выделить всё

 OnClickSubmit()) Text="Submit Application" ButtonStyle="ButtonStyle.Primary" Size="ButtonSize.Large" />
Это приводит к моей задаче OnClickSubmit, которая запускает StateHasChanged, а затем проверяет соответствующие поля.

Код: Выделить всё

    private bool IsLoading = false;
private bool errors = false;
private string ErrorMessage = string.Empty;

public async Task OnClickSubmit()
{
IsLoading = true;
StateHasChanged();
CheckFields();
if (ErrorMessage == "")
{
//Success
}
else
{
errors = true;

}
IsLoading = false;
StateHasChanged();
}

public void CheckFields()
{
ErrorMessage = "";

//Check Basic Fields
if(FirstName == "")
{
ErrorMessage = "First Name is required." + "\n";
}

if (LastName == "")
{
ErrorMessage = ErrorMessage +  "Last Name is required." + "\n";
}
}
Но страница вообще не обновляется. Я отладил свой код, и кажется, что все заполняется и попадает туда, куда вы ожидаете. Но сама страница просто не отображает загрузку и не показывает мое сообщение об ошибке, которое теперь должно появиться, поскольку мое логическое значение переключено на true.
Я запускаю тот же самый процесс «загрузки» StateHasChanged на firstRender, но я не уверен, почему он здесь не работает. Любая помощь будет оценена по достоинству.

Подробнее здесь: https://stackoverflow.com/questions/798 ... on-onclick
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»