J'utilise un panneau de mise à jour. Dans ce panneau de mise à jour, il y a un contrôle de listbox. J'ai en fait mis la propriété autopostback à false dans le code derrière. Mais il continue d'exécuter l'événement SelectedIndexChanged si l'index sélectionné est modifié.Le déclenchement de l'événement SelectedIndexChanged, mais la propriété autopostback de la liste est false - ASP.NET
Pourquoi cela se produit-il?
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:MultiView ID="mvForms" runat="server" ActiveViewIndex="1">
<asp:View ID="View1" runat="server">
<asp:Panel ID="Panel5" runat="server" GroupingText="Available Evaluation Forms" meta:resourcekey="rsKey_panel5"
Width="100%">
<asp:ListBox ID="lbAvailableForms" runat="server" AutoPostBack="true"
style="height: 125px; width: 95%;"
onselectedindexchanged="lbAvailableForms_SelectedIndexChanged"></asp:ListBox>
</asp:Panel>
</asp:View>
<asp:View ID="View2" runat="server">
<asp:Panel ID="Panel11" runat="server" GroupingText="Available Evaluation Forms" meta:resourcekey="rsKey_panel11" Width="100%">
<div style="height: 125px; width: 95%; text-align:center;">
<br />
<br />
<asp:Label ID="lblAllSelected" runat="server" Text="All Selected" meta:resourcekey="rsKey_lblAllSelected"></asp:Label></div>
</asp:Panel>
</asp:View>
</asp:MultiView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="RLCompareParameter" EventName="SelectedIndexChanged"></asp:AsyncPostBackTrigger>
<asp:AsyncPostBackTrigger ControlID="cbAllForms" EventName="CheckedChanged"></asp:AsyncPostBackTrigger>
</Triggers>
</asp:UpdatePanel>
Le nom de la zone de liste est lbAvailableForms. Pendant le débogage, j'ai vérifié la propriété autopostback de ce contrôle de zone de liste, puis j'ai trouvé que la propriété est fausse. Son aspect est si étrange que le déclenchement de l'événement selectedindexchange
Ici cbAllForm est un contrôle de case à cocher et RLCompareParameter est une liste radilo. Parfois, j'ai besoin d'obtenir la propriété de publication automatique est vrai. Donc au départ, j'ai défini cette propriété sur true. sous l'événement RLCompareParameter_SelectedIndexChanged, je mets lbAvailableForms.Autopostback = false. Mais après avoir défini la propriété sur false, la liste déroulante déclenche l'événement indexchanged sélectionné
Veuillez poster les sections correspondantes de votre code. Notez que SelectedIndexChanged se déclenchera également après un retour normal. – cbp
Merci pour votre réponse. J'ai ajouté du code. –
Qu'est-ce que 'cbAllForms'? Le problème persiste-t-il si vous définissez la propriété [ChildrenAsTriggers] (http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.childrenastriggers.aspx) de 'UpdatePanel1' sur' false'? –