37 votes

DropDownList AppendDataBoundItems (le premier élément doit être vide et sans doublon)

J'ai un DropDownList à l'intérieur d'un UpdatePanel qui est remplie lors du retour de l'utilisateur à partir d'un SqlDataSource . Il a un paramètre qui est un autre contrôle. J'ai parfois besoin de plusieurs retours en arrière, mais ce qui se passe, c'est qu'à chaque fois que le panneau de mise à jour est actualisé, des éléments sont ajoutés à l'objet DropDownList . Ainsi, le DropDownList se retrouve avec des données incorrectes, ou des données répétées.

J'ai le AppendDataBoundItems la propriété est réglée sur true parce que j'ai besoin que le premier élément soit vide.

Comment puis-je surmonter ce problème ? Existe-t-il un autre moyen d'obtenir un premier élément vide ?

(Cette DropDownList est dans une application web ASP.NET 2.0, et le code est en C#).

0voto

Miguel Points 1

Voici une idée.

Il y a une propriété dans la liste déroulante appelée AutoPostBack mettez-le à true et ensuite, dans le code derrière vous, mettez toute la méthode de liaison à l'intérieur de l'élément if(!Page.IsPostBack) . Cela a marché pour moi.

regards.

0voto

bagher Points 11
<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server"
  DataSourceID="SqlDataSource1" DataTextField="state" DataValueField="state">
    <asp:ListItem Text="(Select a State)" Value="" />
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
  ConnectionString="<%$ ConnectionStrings:pubsConnectionString %>"
  SelectCommand="SELECT DISTINCT [state] FROM [authors]">
</asp:SqlDataSource>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X