У меня есть грязная сетка с нумерацией страниц/глобальным поиском. Функциональность поиска работает так, как и ожидалось, когда я тестирую ее в своем регионе, т. е. она отфильтровывает сетку, как только пользователь что-то вводит, и это кажется очень быстрым. Проблема возникает, когда я размещаю ее на сервере разработки/сцены. Пользовательский ввод задерживается. Кроме того, он отлично работает, если ввод вводится медленно. Например, если я пытаюсь довольно быстро ввести «тест» в поле поиска, он всегда пропускает 1 или 2 символа и печатает его как «tst», хотя я тщательно ввел все символы. Указатель очень часто мигает при нажатии клавиши Backspace.
Я пытался очистить кеш, но после хостинга все равно не работает, тогда как при выполнении описанного выше в моей локальной среде такой проблемы не возникает.
p>
Я не могу понять, что я сделал не так, например, почему это влияет на производительность.
Примечание. Я загружаю набор данных сразу из базы данных (внутри onInitialized ())
Код:
Index.razor
Customer Id
Customer Name
....
Actions
@context.CustomerId
@context.CustomerName
....
@context.IsActive
...
IndexBase.cs
protected void FilterChanged(ChangeEventArgs args)
{
searchString = args.Value.ToString();
table.ReloadServerData();
}
protected async Task LoadCustomers(TableState tableState)
{
IEnumerable data = CustomersWithOrderInfo.OrderByDescending(q => q.CustomerId);
data = data.Where(p =>
{
if (string.IsNullOrWhiteSpace(searchString))
return true;
if (!string.IsNullOrEmpty(p.CustomerName) && p.CustomerName.Contains(searchString, StringComparison.OrdinalIgnoreCase))
return true;
if ($"{p.CustomerId}".Contains(searchString))
return true;
return false;
}).ToArray();
totalItems = data.Count();
pagedData = data.Skip(tableState.Page * tableState.PageSize).Take(tableState.PageSize).ToArray();
return new TableData() { TotalItems = totalItems, Items = pagedData };
}
Подробнее здесь: https://stackoverflow.com/questions/712 ... or-c-sharp
Избегайте задержки ввода пользователем в поле ввода текстового поля ⇐ C#
Место общения программистов C#
-
Anonymous
1727878760
Anonymous
У меня есть грязная сетка с нумерацией страниц/глобальным поиском. Функциональность поиска работает так, как и ожидалось, когда я тестирую ее в своем регионе, т. е. она отфильтровывает сетку, как только пользователь что-то вводит, и это кажется очень быстрым. Проблема возникает, когда я размещаю ее на сервере разработки/сцены. Пользовательский ввод задерживается. Кроме того, он отлично работает, если ввод вводится медленно. Например, если я пытаюсь довольно быстро ввести «тест» в поле поиска, он всегда пропускает 1 или 2 символа и печатает его как «tst», хотя я тщательно ввел все символы. Указатель очень часто мигает при нажатии клавиши Backspace.
Я пытался очистить кеш, но после хостинга все равно не работает, тогда как при выполнении описанного выше в моей локальной среде такой проблемы не возникает.
p>
Я не могу понять, что я сделал не так, например, почему это влияет на производительность.
[b]Примечание. Я загружаю набор данных сразу из базы данных (внутри onInitialized ())[/b]
Код:
Index.razor
[i]
[/i]
Customer Id
Customer Name
....
Actions
@context.CustomerId
@context.CustomerName
....
@context.IsActive
...
IndexBase.cs
protected void FilterChanged(ChangeEventArgs args)
{
searchString = args.Value.ToString();
table.ReloadServerData();
}
protected async Task LoadCustomers(TableState tableState)
{
IEnumerable data = CustomersWithOrderInfo.OrderByDescending(q => q.CustomerId);
data = data.Where(p =>
{
if (string.IsNullOrWhiteSpace(searchString))
return true;
if (!string.IsNullOrEmpty(p.CustomerName) && p.CustomerName.Contains(searchString, StringComparison.OrdinalIgnoreCase))
return true;
if ($"{p.CustomerId}".Contains(searchString))
return true;
return false;
}).ToArray();
totalItems = data.Count();
pagedData = data.Skip(tableState.Page * tableState.PageSize).Take(tableState.PageSize).ToArray();
return new TableData() { TotalItems = totalItems, Items = pagedData };
}
Подробнее здесь: [url]https://stackoverflow.com/questions/71249206/avoid-user-typing-delay-in-input-textfield-box-mudblazor-blazor-c-sharp[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия