我有一个.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进行控制。
有人知道在选择列表更改时查找所选帐户的更快方法吗?