Celui-ci est intéressant. J'ai une liste déroulante qui, une fois sélectionnée va et exécute un appel de données, retourne les données et remplit certaines étiquettes sur la page. Voici le problème:DropDownList sélectionné changement d'index deux fois
Si je tape à la sélection et appuyez sur ENTRÉE, la méthode se déclenche une fois, très bien. Si j'utilise la souris pour faire défiler la sélection et la choisir de cette façon, elle se déclenche deux fois.
<asp:DropDownList ID="ddlPattern" CssClass="dropdownint" runat="server" DataTextField="Pattern" DataValueField="Pattern"
AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="ddPattern_SelectedIndexChanged" EnableViewState="true" />
code
derrière:
SqlDataAdapter sda = new SqlDataAdapter("StoredProcedure", sc);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;
sda.SelectCommand.Parameters.AddWithValue("@Pattern", Pattern.ToString());
sda.SelectCommand.Parameters.AddWithValue("@fac", this.ddfac.SelectedItem.Value);
DataSet ds = new DataSet();
sda.Fill(ds);
this.lnkInventory.Text = ds.Tables[0].Rows[0][0].ToString() + " (" + ds.Tables[1].Rows[0][0].ToString() + ")";
Il y a plus au code derrière, mais il est vraiment juste peuplait plus d'étiquettes. J'ai essayé beaucoup de choses, en réglant le AutoEventWireup = "faux", et en m'assurant que je n'avais aucun src dans les étiquettes, et même en désinscrivant l'événement chaque fois, mais rien de cela ne fonctionne. Et c'est vraiment bizarre comment ça se déclenche juste une fois si je tape la sélection mais deux fois si je sélectionne la souris.
Êtes-vous un double-clic avec la souris par hasard? – ispiro
Ajoutez-vous également un gestionnaire d'événements dans le code, en plus de celui que vous avez indiqué? – Seano666
Non, je ne le suis pas. Je pensais à cela, mais si je l'étais, il devrait doubler, peu importe comment je sélectionne la liste déroulante – Rysil