begin process at 2012 05 28 04:30:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

PostBack

 > 

postbackurl et paging


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

postbackurl et paging

mercredi 21 janvier 2009 à 11:34:42 | postbackurl et paging

casa51


Bonjour,
voila j'avance tous doucement dans mon moteur de recherche pour mon asso

-           Mon moteur de recherche (2  dropdonwlists sont dans un contrôle utilisateur et présent dans tout le site)

-           Les valeur des dropdownlists  passe par postbakurl  vers la page recherche.aspx (grâce à vous)

-           Ma page recherche.aspx récupère bien les valeurs et construit une requête sql via les valeurs

-           Un dataset est alimenter

-           Un paging créer manuellement (il marche nikel quand la requête est statique)

Mon problême est que quand j'utilise le paging avec les donnée transferer par postback url  je perd les variables transmise des que je change de page (résultat) .

quand c'est une variable statique via querystring  j'arrive a l'implementer dans le paging mais la
Je ne sais pas trop comment procéder pour garder ma requête sql 

Voila le code behind de la page recherche.aspx


------------------------code ------------------------

ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load

 

        If Not Page.PreviousPage IsNothingThen

 

            Dim strsqltype AsString = ""

            Dim strsqladh AsString = ""

 

            Dim uc As UserControl = CType(Page.PreviousPage.FindControl("menugauche1"), UserControl)

            Dim strtype As DropDownList = CType(uc.FindControl("type_asso"), DropDownList)

            Dim stradh As DropDownList = CType(uc.FindControl("adh"), DropDownList)

            '----------------------recherche type

            If strtype.Text <> ""Then

                strsqltype = "AND asso _SOUSTYPE = '" & strtype.Text & "'"

             End If

            '----------------------recherche adhérents

            If stradh.Text <> ""Then

                Select Case stradh.Text

                    Case "1"

                        strsqladh = " AND asso _adh  <= 10"

                    Case "2"

                        strsqladh = " AND (asso_adh  > 10) AND (asso_adh  <= 200)"

                    Case "3"

                        strsqladh = " AND (asso_adh  > 200)        

End Select

            End If

 

            Dim strsqlgeneral AsString = strsqltype & strsqladh

 

            Dim connection As SqlConnection = CreateConnection()

            Dim command2 AsNew SqlDataAdapter("select * from asso2 WHERE ID_db = '12203'" & strsqlgeneral & "", connection)

           

Dim ds As DataSet = New DataSet()

            command2.Fill(ds, "jointure")

 

 

            Dim builderLinkPages As System.Text.StringBuilder = New System.Text.StringBuilder(1024)

 

 

            '----------------------------------------------------------------------------------

 

            Dim strRequest AsInteger

            Dim objPds AsNew PagedDataSource()

            objPds.DataSource = ds.Tables(0).DefaultView

            'Autoriser l'utilisation de la pagination

            objPds.AllowPaging = True

            'Définition du nombre de données de la base de donnée à afficher par page

            'Ici, retournera 5 éléments par pages

            objPds.PageSize = 8

            'Variable Page actuelle (contiendra le numéro de la page en cours)

            Dim CurPage AsInteger

            'On vérifie si la variable "Page" du QueryString est bien remplie et si c'est bien un chiffre

            Try

                If Not Request.QueryString("Page") IsNothingAnd Request.QueryString("Page") <= objPds.PageCount Then

                    strRequest = Convert.ToInt32(Request.QueryString("Page").ToString())

                    CurPage = strRequest

                Else

                    'Si la variable QueryString Page est vide ou est plus grande que le nombre total de page

                    'On renvoi la page 1 par défaut

                    CurPage = 1

                    strRequest = 1

                End If

            Catch ex As Exception

                'En cas d'erreur, si la variable QueryString Page n'est pas un chiffre valide

                 'On renvoi la page 1 par défaut

                CurPage = 1

                strRequest = 1

            End Try

            'Boucle qui retourne les liens vers toutes les pages de la pagination (Page 1, Page 2, Page 3, ...)

            For i AsInteger = 1 To objPds.PageCount

                If strRequest = i Then

                    'Si la page courrante est égale au chiffre retourné par la boucle, on définit la page et son numéro sans lien

                    builderLinkPages.Append("<span class=txt-navigation-datalist-u>" & i & "</span> ")

                Else

                    'Si la page courrante est pas égale au chiffre retourné par la boucle, on définit la page et son numéro avec un lien

                    builderLinkPages.Append("<a href=""" & Request.CurrentExecutionFilePath & "?Page=" & i & """ title=""Page " & i & """><span class=txt-navigation-datalist>" & i & "</span></a> ")

                End If

            Next

            'Ajout de toutes les pages et tous les liens dans le contrôle Literal "litNumbersPages"

            litNumbersPages.Text = builderLinkPages.ToString

            objPds.CurrentPageIndex = CurPage - 1

            'Affichage du numéro de la page en cours et du nombre de page total (Ex.: Page 2 sur 5)

            'lblCurrentPage.Text = "Page: " & CurPage.ToString() & " sur " & objPds.PageCount()

            If Not objPds.IsFirstPage Then

                'Si la page en cours n'est pas la première page

                'On définit l'url du lien "Précédent" et du lien "Première page"

                lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=" & Convert.ToString(CurPage - 1)

                'lnkBegin.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=1"

            Else

                'Si la page en cours est la première page (1)

                'Ne pas afficher le lien "Précédent" et "Première page"

                lnkPrev.Visible = False

                'lnkBegin.Visible = False

            End If

            If Not objPds.IsLastPage Then

                'Si la page en cours n'est pas la dernière page

                'On définit l'url du lien "Suivant" et du lien "Dernière page"

                lnkNext.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=" & Convert.ToString(CurPage + 1)

                'lnkEnd.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=" & objPds.PageCount

            Else

                'Si la page en cours est la dernière page

                'Ne pas afficher le lien "Suivant" et "Dernière page"

                 lnkNext.Visible = False

                'lnkEnd.Visible = False

            End If

            'Définir que le PagedDataSource "objPds" est la source de donnée du Repeater

            Repeater1.DataSource = objPds

            'Insertion des données de la base de donnée dans le contrôle Repeater

            Repeater1.DataBind()

            '----------------------------------------------------------------------------------

 

 

            command2.Dispose()

            connection.Close()

        End If

 

 

    End Sub

-----------------------------------------------end code ----------------------------------


peux etre que je procede mal je suis ouvert a toutes sorte de critique je veux progresser.

Merci encore
mercredi 21 janvier 2009 à 22:49:24 | Re : postbackurl et paging

ggtry

Bonsoir,

Puisque tu utilises un querystring avec un navigateurl, pourquoi ne pas passer dans ce navigateurl les données de tes dropdownlist ?
Tu peux garder ton previouspage, ou alors changer l'accès de départ, pour tout passer en navigateurl. 
Pour garder le previouspage, tu peux faire comme cela :
Si le page.previouspage est valide (ce ne sera pas le cas lors du navigate, en principe), tu remplis tes deux variables de querystring avec les données récupérées du dropdownlist.
Si tu es en navigation, tu récupères les données du querystring pour remplir ces deux mêmes variables (et regénérer avec elles les données du navigateurl de pagination).

GGtry
jeudi 22 janvier 2009 à 11:55:29 | Re : postbackurl et paging

casa51

Réponse acceptée !
merci ggtry du tuyau j'ai réussi a le faire fonctionner !!

nikel !!!





Cette discussion est classée dans : text, page, end, if, objpds


Répondre à ce message

Sujets en rapport avec ce message

perte valeur et repeater paging [ par casa51 ] Bonjour,voila je commence a developper en dotnet 2.0j'arrive a retourner des donnée avec un dataset ou datareader a transiter des valeur de page a pag petit forum [ par ymans22 ] bonjour a tous j'aimerais vous soumettre mon problème afin de recevoir un peu d'aide de votre part.je voudrais faire un petit forum en asp.net c# ce m probléme avec une combobox et 2 textbox [ par marssupilamis ] Bonjour tout le monde, Voilà j'espere que vous aller pouvoir m'aider. Je suis entrain de creer un petit annuaire téléphonique avec une combobox qui un problème en ASP.NET [ par jarmoud ] Bonjour, J'ai un textbox btntext.Text = "ASC" et un bouton dont l'action est la suivante: [code=vb] Protected Sub Button1_Click(ByVal sender As changement de couleur champ suite conditions multiples [ par nathverde ] Bonsoir J'ai une base de données pour recenser des appeles téléphoniques. Il y a 1 champ appelé N° magasin avec liste déroulante, lorsque l'on sélecti Urgent: comment Afficher du text dans une page asp.net [ par dev19 ] Bonsoir tout le monde j'ai un probleme daffichage du text stocker dans sql-server, je ne c'est pas comment l'afficher dans une page asp.net,est-ce-qu' application multi couche [ par thomasaurelien ] en faite mon projet est de programmé en réalisant une application multi-couche c'est à dire séparer interface utilisateur, une class USER , une classe Intranet ASP.NET - Différence de réaction entre URL lancée dans IE et URL identique lancée depuix WORD [ par keogus ] Bonjour à tous ! Bon je poste ici parce que là je vois pas ou [^^happy13]. Je vais essayer de détailler clairement la situation : J'ai un intranet q Probleme de declenchement d'evenements multiples [ par jubourbon ] Bonjour,   <p class="MsoNormal" st récupérer une variable client coté serveur sans postback [ par Augustus ] Bonjour,J'essaye de faire un chat en asp. Le probleme est que je veux le faire sans rafraichir la page à chaque fois.J'ai un timer coté client en java


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,966 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales