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 :

problèma avec page_load


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 159
    Par défaut problèma avec page_load
    Bonjour,

    Le titre n'est pas vraiment significatif, je vais essayer d'expliquer mon problème.
    J'ai sur une page asp.Net un tableau que j'ai rempli d'une table mysql qui contient trois champs(identifiant,nom et prenom). Pour chaque enregistrement j'ajoute dans le tableau un linkbutton qui execute une fonction c#.Je suis obligé de mettre un système de pagination sur le tableau et pour celà j'ai ajouté la clause LIMIT dans la requete SQL.

    Mon problème c'est que lorsque je suis sur la première page(demon système de pagination), la fonction du linkbutton s'execute sans problème, par contre sur les autres pages(2,3...)la fonction ne s'execute pas je suis redirigée directement à la première page(c'est à dire les premiers linkbuttons du tableau), c'est comme si la page est rechargée à nouveau. Et si je fais un if (!Page.IsPostBack) la pagination ne fonctionne pas.

    je pense que j'ai besoin d'une fonction pour que la page ne se recharge pas

    Merci de votre aide

  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    un peu de code serait bienvenu.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 159
    Par défaut
    ok

    en page load j'appelle les deux fonction suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    protected void Page_Load(object sender, EventArgs e)
        {
            inititialiser(a);
            crer_lien();
        }
    avec a une variable que j'initisalise au debut à 1,
    la fonction intitialiser permet de créer les linkbutton,et un tableau pour chaque lnkbutton, normalement ces tableaux sont invisible et ce n'est qu'après avoir cliqué sur le linkbutton que le tableau s'affiche et vaoici le 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    protected void inititialiser(int v_debut)
        {
            int k = 0;
            connexion con = new connexion();
     
            con.connecter();
            string rqt = "select Identifiant, Nom, Prenom from tab_annuaire order by nom limit " + Convert.ToString(v_debut-1) + ",2";
            OdbcCommand commande = new OdbcCommand(rqt);
            OdbcDataReader reader = null;
            commande.Connection = con.Con_SignSuite;
            reader = commande.ExecuteReader();
            //A chaque fois il y a un signataire on ajoute son "nom prénom en tant que lien qui permetra d'afficher le tableau de ses autorisataion
            while (reader.Read())
            {
                //Création de linkbutton avec le nom et le prénom comme texte
                LinkButton lnk_signataire = new LinkButton();
                lnk_signataire.Text = Convert.ToString(reader[1]) + " " + Convert.ToString(reader[2]);
                lnk_signataire.CommandArgument = Convert.ToString(k);
                //lnk_signataire.CommandName =Convert.ToString(reader[0]);
                lnk_signataire.Command += new CommandEventHandler(lnk_signataire_Command);
     
     
                // Pour chaque signataire on créera deux lignes:une pour le linkbutton et l'autre pour le tableau des autorisations
                TableRow row_lien = new TableRow();
                TableRow row_tableau = new TableRow();
     
                //la ligne qui contient le tableau des autorisation ne doit pas être visible, sauf après demande de l'utilisateur
                row_tableau.Visible = false;
     
                //dans chaque ligne il faut créer une cellule qui contiendra le controle
                TableCell cell_lien = new TableCell();
                cell_lien.Controls.Add(lnk_signataire);
                row_lien.Cells.Add(cell_lien);
     
                TableCell cell_tableau = new TableCell();
                cell_tableau.BorderStyle = BorderStyle.Solid;
                //Création du tableau des autorisation
                Table T1 = creer_tableau_autorisation(Convert.ToString(reader[0]));
                //Ajout du tableau à la cellule cell_tableau
                cell_tableau.Controls.Add(T1);
                row_tableau.Cells.Add(cell_tableau);
     
     
                //Ajout des rows au tableau 
                Tab_signature.Rows.Add(row_lien);
                Tab_signature.Rows.Add(row_tableau);
                k = k + 2;
            }
            con.deconnecter();
        }
    et la fonction crer_lien() pemet de créer les lien de pagination, en voici le 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    protected void crer_lien()
        {
            connexion con = new connexion();
     
            con.connecter();
            string rqt = "select count(*) from tab_annuaire";
            OdbcCommand commande = new OdbcCommand(rqt);
            OdbcDataReader reader = null;
            commande.Connection = con.Con_SignSuite;
            reader = commande.ExecuteReader();
            reader.Read();
            int v_pas;
            v_pas = Convert.ToInt32(reader[0]) / 2;
     
            TableRow ligne = new TableRow();
            TableCell cellule = new TableCell();
     
            int i ; //Les numéros de pages
            int k = 1; //L'indice du premier enregistrement à afficher
            for (i = 1; i <= v_pas; i++)
            {
                LinkButton lnk_page = new LinkButton();
                lnk_page.Text = Convert.ToString(i);
                lnk_page.CommandArgument = Convert.ToString(k);
                lnk_page.Command += new CommandEventHandler(lnk_page_Command);
                cellule.Controls.Add(lnk_page);
                Label lbl_espace = new Label();
                lbl_espace.Text = "  ";
                cellule.Controls.Add(lbl_espace);
                k = k + 2;
            }
            int r = Convert.ToInt32(reader[0]) % 2;
            if (r != 0)
            {
                LinkButton lnk_page = new LinkButton();
                lnk_page.Text = Convert.ToString(i);
                lnk_page.CommandArgument = Convert.ToString(k);
                lnk_page.Command += new CommandEventHandler(lnk_page_Command);
                cellule.Controls.Add(lnk_page);
     
            }
            ligne.Cells.Add(cellule);
            Tab_lien.Rows.Add(ligne);
            con.deconnecter();
        }
    Rq j'affiche 2 enregistrement par page

  4. #4
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut
    Pourquoi n'utilises-tu pas un gridview ?
    Ca se fait juste à la souris

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 159
    Par défaut
    Merci pour la proposition, mais j'ai cherché à comment insérer des linkbutton et des tableaux à la fois dans un gridview (de manière à avoir un linkbutton et un tableau par ligne) j'ai pas trouvé

Discussions similaires

  1. Page_Load avec page précédente
    Par Marsulu dans le forum ASP.NET
    Réponses: 3
    Dernier message: 21/08/2011, 14h04
  2. problème avec page_load
    Par yogui41 dans le forum ASP
    Réponses: 1
    Dernier message: 29/03/2006, 20h43
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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