Je pense que c'est une question de cycle de vie de page asp.net, mais pas moins, je ne peux pas tout à fait comprendre.Mise à jour du panneau et de la liste déroulante de liaison de données deux fois - cycle de vie
J'ai une liste déroulante dans un panneau de mise à jour qui répertorie les utilisateurs, puis affiche les détails ci-dessous (mettre à jour ou supprimer). Lorsque je clique sur supprimer, le code derrière va et efface le ddl (pour supprimer l'utilisateur supprimé), puis le redéfinit. Tout va bien. Quelque part entre la fin du code et la mise à jour de la page, la liste est de nouveau ajoutée.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.AppendDataBoundItems = true;
DropDownList1.Items.Insert(0, new ListItem("Select a User", "select"));
DropDownList1.SelectedValue = "select";
DropDownList1.DataSourceID = "srcUsers";
DropDownList1.DataBind();
}
}
protected void btnDelete_Click(object sender, EventArgs e)
{
DropDownList1.AppendDataBoundItems = false;
DropDownList1.DataSourceID = "srcUsers";
DropDownList1.DataBind();
DropDownList1.AppendDataBoundItems = true;
DropDownList1.Items.Insert(0, new ListItem("Select a User", "select"));
DropDownList1.SelectedValue = "select";
}//at this point, the quick watch shows the correct count for the ddl
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" Width="150" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true">
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
Note: srcUsers
est une source de données objet
Si je supprime le code de liaison ddl à partir du bouton, il ne met pas à jour le ddl du tout (avec en, elle le fait deux fois!
Où se lie-il la deuxième fois? Pourquoi n'est-ce pas contraignant si je supprime le code du bouton? Comment se fait-il que je ne puisse pas traverser ça en VS?
Il serait probablement utile si vous avez publié le code dans lequel vous déclarez votre source de données d'objet. – Phaedrus