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

ASP.NET Discussion :

Mémoriser le N° de pagination d'un Gridview


Sujet :

ASP.NET

  1. #1
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut Mémoriser le N° de pagination d'un Gridview
    Bonjour,

    Je suis relativement nouveau dans le développement de sites ASP.net et je suis confronté à un problème de pagination :

    En effet, j'ai activé la pagination dans la balise active de VS2005 et elle se fait correctement. Mon soucis est que je veux mémoriser le numéro de la dernière page visitée et, après avoir visité d'autres pages web du site, je voudrais revenir sur la page (du gridview) qui a été visitée en dernier. (suis-je clair là ?)

    Je me doute bien qu'étant en web celà doit passer par la session, mais ça marche pas.

    Je dois effectuer quelques modifs sur le site et j'ai trouvé dans une autre page le code 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Sub fncSetCurrentPage()
     
            ' Si l'objet de SESSION n'existe pas, il est créé
            If Session.Item("art_liste") Is Nothing Then Session.Add("art_liste", dgListe.PageIndex)
     
            ' Si Changement de page
            If Request.Params("__EVENTTARGET") = "dgListe" Then
     
                ' Cherche le numéro de la page
                Dim sArgument As String = Request.Params("__EVENTARGUMENT").ToString
     
                ' Récupère le numéro de la page
                Dim iPage As Integer
                Try
                    iPage = CInt(sArgument.Substring(sArgument.LastIndexOf("$") + 1))
                    iPage = iPage - 1
                Catch ex As Exception
                    iPage = 0
                End Try
     
                ' Sauvegarde le numéro de la page
                Session.Item("art_liste") = iPage
     
            Else    ' Sinon
     
                ' Positionne la page courrante
                dgListe.PageIndex = Session.Item("art_liste")
     
            End If
     
        End Sub
    avec un appel de cette fonction dans le page_load.

    Dans la page où ce code est utilisé, ça marche, mais pas dans la mienne...
    à vrai dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Request.Params("__EVENTTARGET") = "dgListe"
    n'est jamais true dans mon cas ; et je ne comprends pas comment (et où) le __EVENTTARGET prend la valeur "dgListe"...

    Si quelqu'un pouvait m'aider (soit avec ce code soit en me proposant une autre méthode) ce serait bien

    merci à vous.

  2. #2
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Bonsoir

    je ne comprends pas comment (et où) le __EVENTTARGET prend la valeur "dgListe"...
    Au vue de ton code, je dirai que "dgListe" est un DataGrid et que __EVENTTARGET contient "dgListe" seulement si un évènement est déclenché par le controle Asp.Net dont l'ID="dgListe" . Du coup si la page en question ne contient pas ce controle alors ton if renverra toujours faux .

    Sinon je n'ai pas trop compris ton problème, du coup je te poste juste un bout de code basique d'utilisation des variables de session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'Affectation
    Session("Mapage")=Mapage
     
    'Lecture
    If Not Session("Mapage") is nothing AndThen Session("Mapage")<>""
    dim sMapage as string =  Session("Mapage")
    End If

    Bou courage et bonne nuit

  3. #3
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    En fait il fallait que j'écrive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Request.Params("__EVENTTARGET") = "ctl00$ContentPlaceHolder1$dgListe" Then...
    dans mon code.

    J'ai eut d'un coup l'idée d'utiliser l'espion du débogage et de visualiser la valeur que prennait __EVENTTARGET...

    j'aurais du y penser plus tôt

    merci quand même mafyoso

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pagination d'un Gridview
    Par charlingals1 dans le forum ASP.NET
    Réponses: 19
    Dernier message: 23/07/2010, 18h02
  2. Pagination manuelle avec gridview
    Par trihanhcie dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/03/2010, 19h51
  3. Problème de pagination avec un GridView
    Par Perceuse-Killer dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/02/2007, 13h30
  4. Réponses: 1
    Dernier message: 27/09/2006, 09h28
  5. [C#] Comment gérer la pagination avec un GridView ?
    Par appwnet dans le forum ASP.NET
    Réponses: 5
    Dernier message: 05/05/2006, 13h47

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