У меня была такая же проблема, и я нашел способ сделать это с помощью панелей обновления. Я полагаю, что это происходит из-за того, что список обновляется при обратной передаче, поэтому панели обновления могут помочь нам убедиться, что он не обновляется. Убедитесь, что список находится внутри панели условного обновления с дочерними элементами в качестве триггеров, установленных на «ложь»:
<asp:UpdatePanel runat="server" ID="updtpnlSearchResults" UpdateMode="Conditional" ChildrenAsTriggers="false">
Теперь поместите все, что нужно изменить, когда выбор списка изменится на собственной панели обновления. Таким образом, список не обновляется.