У меня есть приложение .Net Core 2.2, которое использует список выбора, чтобы позволить пользователю выбирать, какую учетную запись он хочет просмотреть.
вот пример этого списка выбора
<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12 pull-left" id="tour-dropdown">
<p>Choose an account</p>
<select class="selectpicker" data-style="btn-white" data-live-search="true" data-width="fit" data-size="5">
@if (Model.IsClient)
{
<option value="-1|false">View All Accounts</option>
}
@foreach (var item in Model.AccountList)
{
<option value="@item.AccountValue">@item.AccountName (@item.AccountCode)</option>
}
</select>
</div>
Когда они меняют выпадающий список, у меня есть скрипт jquery, который ищет его и соответственно меняет экран.
$('.selectpicker').on('change', function (ev, picker) {
var selectedAccount = $(this).find("option:selected").val();
window.location.href = "/gohere";
});
Проблема в том, что в моем списке выбора есть много учетных записей 10K +, что var selectedAccount = $(this).find("option:selected").val();
, кажется, блокирует страницу на несколько секунд, прежде чем он что-то делает.
Ранее я использовал asp-for
в списках выбора, и это кажется намного быстрее, единственная проблема заключается в том, что у меня есть некоторые переменные Javascript, которые я добавляю в редирект, которыми я не могу управлять с помощью asp-for.
Кто-нибудь знает более быстрый способ поиска выбранной учетной записи при изменении списка выбора?