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:
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:
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.