Меня раздражает проблема, у меня есть управление повторителем в панели обновления, как это.
<asp:UpdatePanel ID="UpdPnlConstituentRepeater" ChildrenAsTriggers="true" runat="server">
<ContentTemplate>
<asp:Repeater ID="repConstituentInformation" runat="server" OnItemDataBound="repConstituentInformation_ItemDataBound">
<ItemTemplate>
<asp:DropDownList ID="dropRegistrantDownCostType" runat="server" AppendDataBoundItems="true"
AutoPostBack="true" OnSelectedIndexChanged="dropRegistrantDownCostType_SelectedIndexChanged"
EnableViewState="true">
<asp:ListItem Text="Select Type" Value="0" Selected="True" />
</asp:DropDownList>
<asp:CheckBoxList ID="chkBoxListRegistrantBenefits" AutoPostBack="true" runat="server"
OnSelectedIndexChanged="chkBoxListRegistrantBenefits_SelectedIndexChanged">
</asp:CheckBoxList>
</itemTemplate>
</ContentTemplate>
</asp:UpdatePanel>
Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я выбираю какое-либо значение из раскрывающегося списка, все страницы обновляются. После нескольких часов работы в Google я нашел решение, т. Е. Для события повтора itemdatabound нам просто нужно добавить следующий код после нахождения раскрывающегося списка:
Dim sm As ScriptManager = ScriptManager.GetCurrent(Page)
sm.RegisterAsyncPostBackControl(objDropdownlist)
Это работало очень хорошо для выпадающего списка, но оно не работает для списка чекбоксов, как при использовании экземпляра scripmanager, если я пишу sm.RegisterAsyncPostBackControl(chkBoxListRegistrantBenefits)
, это не работает: (