Bonjour,

J'essaye depuis un petit bout de temps de faire une mise à jour
avec le mode edit du DetailView.
Ca fonctionne très bien et ma dropdowlist apparait en mode edit mais des que je veux récupérer la valeur sélectionner, cette erreur apparait "La référence d'objet n'est pas définie à une instance d'un objet.".


Voici mon code
pour le chargement de la liste

Protected Sub ClimatDv_ModeChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewModeEventArgs) Handles ClimatDv.ModeChanging

OkLb.Text = ""
ErreurLb.Text = ""

' mise en session pour sélection dans les listes en mode edit
If Me.ClimatDv.CurrentMode = DetailsViewMode.ReadOnly Then
Session("localisation") = CType(Me.ClimatDv.FindControl("Label4"), Label).Text
Session("DesClimat") = CType(Me.ClimatDv.FindControl("Label5"), Label).Text
End If

If e.CancelingEdit = True Then
OkLb.Text = ""
ErreurLb.Text = ""
ClimatDv.ChangeMode(DetailsViewMode.ReadOnly)
LoadClimat(PaysDdl.SelectedItem.Value)
ElseIf e.NewMode = DetailsViewMode.Edit Then
ClimatDv.ChangeMode(DetailsViewMode.Edit)
LoadClimat(PaysDdl.SelectedItem.Value)
' Chargement des listes déroulantes
Voyages.RemplirListe("ID_Localisation,Nom_Localisation", "Localisation", "Sélectionner une zone géographique", CType(Me.ClimatDv.FindControl("LocaDdl"), DropDownList), Session("Localisation"), IdLangue)
Voyages.RemplirListe("ID_Climat,Des_Climat", "Climat", "Sélectionner un climat", CType(Me.ClimatDv.FindControl("DesClimatDdl"), DropDownList), Session("DesClimat"), IdLangue)
Session("ClimatSelected") = CType(Me.ClimatDv.FindControl("DesClimatDdl"), DropDownList).SelectedItem.Value
Else
ClimatDv.ChangeMode(DetailsViewMode.Insert)s
LoadClimat(PaysDdl.SelectedItem.Value)
End If

End Sub

pour la mise à jour
Protected Sub ClimatDv_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewUpdateEventArgs) Handles ClimatDv.ItemUpdating


If Voyages.UpdateClimat(CType(Session("ClimatSelected"), Integer), CType(Me.ClimatDv.FindControl("desclimatddl"), DropDownList).SelectedItem.Value, PaysDdl.SelectedItem.Value) Then 'CType(Me.ClimatDv.FindControl("DesClimatDdl"), DropDownList).SelectedItem.Value, PaysDdl.SelectedItem.Value) Then
OkLb.Text &= "mise à jour du climat effectuée<br />"
Else
ErreurLb.Text &= "erreur survenue: mise à jour du climat<br />"
End If


ClimatDv.ChangeMode(DetailsViewMode.ReadOnly)
LoadClimat(PaysDdl.SelectedItem.Value)

End Sub

J'espére que quelqu'un pourra m'aider.

Merci

mAtthias