Bonjour,
Je butte sur un problème depuis ce matin alors j'appel à l'aide !
J'ai une div qui apparait sur certains objets de la pages (un peu comme une box). Elle contient une dropdownlist, cette liste est petite et présélectionne un Item en fonction de où on a cliqué avant (à l'affichage de la div).
Cette liste est remplie par un sqlDataSource.
Il y a en dessous une case à cocher, qui permet d'avoir la liste complète, l'appel est fait en ajax, la mise à jour des items de la liste fonctionne bien.
Seulement lorsque je valide le tout, la dropdownlist me renvoie uniquement une value qui y était au départ, impossible d'envoyer un des nouveau ItemValue.
J'ai partiellement contourné le problème en faisant le contraire, c'est à dire en envoyant la liste complète à la construction de la page et en filtrant à l'ouverture de la div qui contient la dropdownlist, mais alors je perds la sélection par défaut (qui est importante)
J'ai aussi essayé avec un UpdatePanel, rien à faire, le formulaire refuse de me retourner une valeur Value qui n'était pas dans la dropdownlist au départ.
Je mes mon code ci dessous, si quelqu'un à une idée (j'ai désactivé ViewState, CauseValidation)
Et à l'arrière (c'est du VB)
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 <asp:ScriptManager ID="ScriptManager1" runat="server" enablePartialrendering="true" ></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="conditional"> <ContentTemplate> <asp:DropDownList ID="Edit_succursalle" runat="server" class="liste_succursalle" ClientIDMode="Static" DataSourceID="Company_Succursales" DataTextField="CompanyName" DataValueField="id" EnableViewState="false" CausesValidation="false" EnableTheming="false"> </asp:DropDownList> <br /> <asp:CheckBox ID="CheckBoX_Edit_succursale" runat="server" Text="Machine prétée à une autre société" clientIdMode="Static" Autopostback="true"/> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="CheckBoX_Edit_succursale" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel>
Merci d'avance
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 Protected Sub CheckBoX_Edit_succursale_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBoX_Edit_succursale.CheckedChanged Dim req As String If CheckBoX_Edit_succursale.Checked = True Then req = "SELECT [CompanyName], [id] FROM [Common_Company] WHERE ([CompanyId] <> 0)" Else req = "SELECT [CompanyName], [id] FROM [Common_Company] WHERE [CompanyId] =" & Session("CompanyId").ToString End If Dim SQLlisteSites As New System.Data.DataSet Dim tableauDeListe() As ListItem Edit_succursalle.Items.Clear() SQLlisteSites = sd.TODB(req) tableauDeListe = New ListItem(SQLlisteSites.Tables("msg").Rows.Count) {} For i As Integer = 0 To SQLlisteSites.Tables("msg").Rows.Count - 1 tableauDeListe(i) = New ListItem tableauDeListe(i).Text = SQLlisteSites.Tables("msg").Rows(i).Item("CompanyName") tableauDeListe(i).Value = SQLlisteSites.Tables("msg").Rows(i).Item("id") 'li.Value = Edit_succursalle.Items.Add(tableauDeListe(i)) Next End Sub
Partager