Bonjour,
j'ai un problème avec l'utilisation des DropDownList dans un formulaire.
Pour simplifier les explications voici une partie du code :
<asp:SqlDataSource ID="dsForm" runat="server" ConnectionString="<%$ ConnectionStrings:DEA %>"
SelectCommand="dsu_proc_de_chargement" SelectCommandType="StoredProcedure"
UpdateCommand="dmu_proc_de_sauvegarde" UpdateCommandType="StoredProcedure">
<SelectParameters>...</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="DEM_co_csp" Type="String" />
...
</UpdateParameters>
</asp:SqlDataSource> <asp:SqlDataSource ID="dsCSP" runat="server" ConnectionString="<%$ ConnectionStrings:DEA %>"
SelectCommand="SELECT [CODE], [LIBELLE] FROM [TAB_CSP]"></asp:SqlDataSource>
<form id="form1" runat="server">
<asp:FormView ID="FormView1" runat="server" DefaultMode="Edit" DataSourceID="dsForm" >
<EditItemTemplate>
<asp:DropDownList ID="ddlCSP" runat="server" DataSourceID="dsCSP" AppendDataBoundItems="true"
DataTextField="LIBELLE" DataValueField="CODE" SelectedValue='<%# Bind("DEM_co_csp") %>'>
<asp:ListItem Selected="True" Text="" Value="-1" />
</asp:DropDownList>
</EditItemTemplate>
</form>Ca marche très bien lorsqu'il y a bien une valeur définie pour le champ DEM_co_csp en base, mais la valeur null est autorisé sur ce champ. Lorsque la ligne retournée à pour valeur null je recois le message d'erreur :
[ArgumentOutOfRangeException: 'ddlCSP' a un SelectedValue qui n'est pas valide, car il n'existe pas dans la liste des éléments.
Nom du paramètre : value]
Merci d'avance pour votre aide
Christophe Feltz