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
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.
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 :)
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>
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.
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
}