Визуализировать компонент blaz с отключенным свойством, установленным после применения бизнес-логикиC#

Место общения программистов C#
Ответить
Anonymous
 Визуализировать компонент blaz с отключенным свойством, установленным после применения бизнес-логики

Сообщение Anonymous »

У меня возникла проблема с отрисовкой компонента с определенным свойством после применения некоторой бизнес-логики. Веб-страница должна следовать следующей логике:
  • клиент заходит на страницу
  • Вызывается OnInitializedAsync()
  • Появляется кружок загрузки, сигнализирующий о применении бизнес-логики.
  • Применена бизнес-логика и заданы свойства.
  • Свойство видимости установлено, а функция оставлена.
  • компоненты отображаются с определенными свойствами и отображаются клиенту.
Чтобы быть более конкретным, это определенный ComboBox которое должно иметь отключенное свойство после применения логики. После вызова OnInitializedAsync() свойство устанавливается, что я подтвердил с помощью отладчика. Однако ComboBox отображается с включенным статусом, как будто настройка свойства по какой-то причине игнорируется.
Я попробовал Task.Delay() и StateHasChanged в конце OnInitializedAsync(). Я также попробовал использовать OnAfterRenderAsync() и установить там свойство с помощью вызова StateHasChanged, но безрезультатно.
Единственный способ заставить это работать — удалить проверку @if(isVisible) вверху моей страницы бритвы. В этом случае применяется свойство отключено, однако клиент увидит компоненты до того, как они будут «готовы», и даже успеет взаимодействовать с ними, поскольку происходит огромная задержка. Это выглядит глупо и непрофессионально. Не могли бы вы объяснить мне, каким будет общий или лучший подход к этой проблеме?
Вот примерный псевдокод:

@if(isVisible)
{

}

@code
{
private ComboBox MyComboBox {get;set;}
private bool isVisible = false;

protected override OnInitializedAsync()
{
"Do Some Stuff"
this.MyComboBox.Enabled = false;
this.isVisible = true;
StateHasChanged();
}
}



Подробнее здесь: https://stackoverflow.com/questions/791 ... gic-applie
Ответить

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

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

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

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

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