IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

DataSource stockée en variable de Session


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 44
    Par défaut DataSource stockée en variable de Session
    Salut,

    j'ai un gridview qui affiche des destinataires. Son datasource est stocké dans une variable de session grace à ce code

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Imports Microsoft.VisualBasic
    Imports System.Collections.Generic
    Public Class Destinataires
     
        Public Shared Function Liste()
            Dim ListeEmails As New List(Of Email)
     
            If System.Web.HttpContext.Current.Session.Item("emails") <> "" Then
                Dim emails As String = System.Web.HttpContext.Current.Session.Item("emails")
     
                For Each s As String In Split(emails, ",")
                    ListeEmails.Add(New Email(s))
                Next
            End If
     
            Return ListeEmails
        End Function
     
        Public Class Email
            Sub New(ByVal _email As String)
                Me.email = _email
            End Sub
     
            Private _email As String
            Public Property email() As String
                Get
                    Return _email
                End Get
                Set(ByVal value As String)
                    _email = value
                End Set
            End Property
        End Class
    End Class
    ça fonctionne correctement mais je voudrais ajouter un identifiant pour chaque email stocké.

    Il semble qu'il faille créer un tableau mais je ne sais pas le faire...

    Est-ce que quelqu'un peut m'aider ?

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Bonjour,

    Pourquoi ne pas ajouter une propriété Id à la classe Email ?

    Au lieu de reconstruire la liste à chaque PostBack de la page, il est également possible de mettre la List(Of Email) directement dans la variable de Session. Une variable de Session n'est pas limitée au type string.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 44
    Par défaut
    Ton idée me parait tout à fait intéressante.

    J'ai modifier mon code ainsi :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Imports Microsoft.VisualBasic
    Imports System.Collections.Generic
    Public Class Destinataires
     
        Public Shared Function Liste()
            Dim ListeEmails As New List(Of Email)
     
            If System.Web.HttpContext.Current.Session.Item("emails") <> "" Then
                ListeEmails = CType(System.Web.HttpContext.Current.Session.Item("emails"), List(Of Email))
            End If
     
            Return ListeEmails
        End Function
     
        Public Shared Sub Ajout(ByVal s As String)
            Dim ListeEmails As New List(Of Email)
     
            If System.Web.HttpContext.Current.Session.Item("emails") <> "" Then
                ListeEmails = System.Web.HttpContext.Current.Session.Item("emails")
                ListeEmails.Add(New Email(ListeEmails.Count, s))
            End If
        End Sub
     
        Public Class Email
            Sub New(ByVal _id As Integer, ByVal _email As String)
                Me.id = _id
                Me.email = _email
            End Sub
     
            Private _email As String
            Public Property email() As String
                Get
                    Return _email
                End Get
                Set(ByVal value As String)
                    _email = value
                End Set
            End Property
     
            Private _id As String
            Public Property id() As String
                Get
                    Return _id
                End Get
                Set(ByVal value As String)
                    _id = value
                End Set
            End Property
        End Class
    End Class
    J'ai une erreur :
    Unable to cast object of type 'System.String' to type 'System.Collections.Generic.List`1[Destinataires+Email]'.

    Merci pour votre aide

Discussions similaires

  1. Parcourir une liste stocké en variable session
    Par hauser11 dans le forum C#
    Réponses: 1
    Dernier message: 22/05/2013, 11h27
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo