web-dev-qa-db-fra.com

La liste déroulante L’index sélectionné a été modifié et ne fonctionne plus dans le panneau de mise à jour.

J'ai une liste déroulante dans UpdatePanel_2, elle est renseignée lorsque vous cliquez sur Button_1 dans UpdatePanel_1.

Mon balisage ddlist est,

<asp:DropDownList id="drop1" runat="server"  EnableViewState="true" AutoPostBack="true" OnSelectedIndexChanged="Drop1_SelectedIndexChanged" />

alors le code derrière est,

 protected void Drop1_SelectedIndexChanged(object sender, EventArgs e)
        { }

J'ai également essayé de mettre AutoPostback = true à mon DropDownList, toujours pas de succès.

J'ai aussi ajouté triggre pour mettre à jour le panel 2 mais pas de gain,

       <Triggers>
    <asp:AsyncPostbackTrigger ControlID="drop1" EventName="SelectedIndexChanged" />
</Triggers>

Je remplis DropDownList à l'aide d'un bouton et non de la méthode de chargement de page, veuillez la lire avant de répondre . Merci

9
Mathematics

Vérifiez les données pour renseigner la DropDownList dans l'événement Page_Load et vérifiez toujours IspostBack:

if(!IsPostBack)
{
 //DropDownList configuration
}

Utilisez EnableViewState:

 <asp:DropDownList ID="ddlAddDepPlans" runat="server" AutoPostBack="true" EnableViewState="true" />

J'espère que ça vous aide.

11
Neeraj Dubey

J'ai eu le même problème. Mon problème était que les valeurs de mes ListItems étaient toutes identiques: D

<asp:DropDownList ID="ddlFilterLogins" runat="server" Visible="true" AutoPostBack="true">
    <asp:ListItem Value="0" Text="All"></asp:ListItem>
    <asp:ListItem Value="0" Text="Some"></asp:ListItem>
    <asp:ListItem Value="0" Text="Some more"></asp:ListItem>
</asp:DropDownList>

Cela devrait être comme ça:

<asp:DropDownList ID="ddlFilterLogins" runat="server" Visible="true" AutoPostBack="true">
    <asp:ListItem Value="0" Text="All"></asp:ListItem>
    <asp:ListItem Value="1" Text="Some"></asp:ListItem>
    <asp:ListItem Value="2" Text="Some more"></asp:ListItem>
</asp:DropDownList>

J'espère que cela t'aides. Cela peut être difficile à trouver parfois :)

9
Jboy Flaga

C'était aussi un problème câblé pour moi. enfin, c’est à cause de listes identiques dans la liste déroulante, comme indiqué ci-dessous. au cours du développement, vous pouvez utiliser les mêmes éléments uniquement pour les tests. change les.

<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>
0
Reagan

Vous pouvez utiliser un événement Init au lieu de SelectIndexChanged . Cela a bien fonctionné pour moi . J'espère que vous comprenez mon point.

0
Chakri

S'il vous plaît, lorsque vous l'initialisez dans Page_Load (), vérifiez si ce n'est pas la publication. Si vous ne le faites pas, vous définissez toujours la valeur par défaut, qui remplace la valeur définie dans l'événement.

if(!IsPostBack)
{
//DropDownList configuration
}
0
Alberto León