Bonjour à tous,
Je rencontre le problème suivant. J'ai besoin de filtrer une dropdownlist à partir d'une sélection effectuée dans une autre dropdowlist. Mes données proviennent d'une base de données. Mes 2 dropdownlist sont bindés de cette manière. La première qui me sert de source est la suivante:
La deuxième qui récupère la valeur de la première est bindée comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <EditItemTemplate> <asp:SqlDataSource ID="dsCategories" runat="server" ConnectionString="<%$ ConnectionStrings:csGestionIncidents %>" SelectCommand="SELECT * FROM [Categories]"></asp:SqlDataSource> <asp:DropDownList ID="ddlCategorie" runat="server" DataSourceID="dsCategories" DataTextField="LibelleCategorie" DataValueField="ID_Categorie" SelectedValue='<%# Bind("ID_Categorie") %>' AppendDataBoundItems="true" AutoPostBack="True"> </asp:DropDownList> </EditItemTemplate>
Le problème est que lorsque je sélectionne un item dans la ddlCategorie je reçoit le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <EditItemTemplate> <asp:SqlDataSource ID="dsThemes" runat="server" ConnectionString="<%$ ConnectionStrings:csGestionIncidents %>" SelectCommand="SELECT CatTheme.ID, CatTheme.ID_Cat, Themes.LibelleTheme FROM Themes INNER JOIN CatTheme ON Themes.ID_Theme = CatTheme.ID_Theme WHERE (CatTheme.ID_Cat = @ID_Categorie)"> <SelectParameters> <asp:ControlParameter ControlID="ddlCategorie" Name="ID_Categorie" PropertyName="SelectedValue" type="int32" /> </SelectParameters> </asp:SqlDataSource> <asp:DropDownList ID="ddlThemes" runat="server" DataSourceID="dsThemes" DataTextField="LibelleTheme" DataValueField="ID" SelectedValue='<%# Bind("ID_Theme") %>' AppendDataBoundItems="true" AutoPostback="true"> </asp:DropDownList> </EditItemTemplate>
Je ne comprend pas ce message car tous mes contrôles sont liés aux données.Les méthodes de liaison de données telles que Eval(), XPath() et Bind() peuvent uniquement être utilisées dans le contexte d'un contrôle lié aux données.
Est ce que quelqu'un à déjà rencontre ce type de message ?
Merci pour votre aide
Partager