Bonjour,
J'ai un site web en ASP.NET / VB.NET.
Tous les contrôles de mes pages doivent être traduits en fonction de la langue de l'utilisateur.
De ce fait, lorsque l'utilisateur se connecte, je charge la table des libellés de mes contrôles dans un DataSet que je conserve dans une variable de session.
Lorsque je charge une page (on PAGE_LOAD), je lance une procédure qui permet de récupérer le DataSet et de traduire mes contrôles :
Mais quand ma session a expiré, j'obtiens 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 Dim PageName As String = "default.aspx" Dim dtsLabel As DataSet = Session("DS_Label") Dim myRow As DataRow Dim myControl As Control Dim myLabel As Label With dtsLabel.Tables("tabLabel") For Each myRow In .Rows If (PageName = myRow("LABEL_PAGE")) Then myControl = Me.FindControl(myRow("LABEL_NAME")) If Not myControl Is Nothing Then myLabel = CType(myControl, Label) myLabel.Text = myRow("LABEL_TEXT_USER") End If End If Next End With:
Comment faire pour éviter cette erreur ?La référence d'objet n'est pas définie à une instance d'un objet.
Comment savoir si ma session a expirée ?
Faudrait-il que j'ajoute une condition avant de lancer ma traduction ?![]()
Avant cela, lorsque ma session expirait, l'utilisateur était automatiquement redirigé vers la page de login.
Merci de votre aide.
Partager