begin process at 2012 05 27 18:07:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Base de données

 > 

SQL Server

 > 

ASP.net repeater [optimisation de code] C#


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

ASP.net repeater [optimisation de code] C#

lundi 31 janvier 2011 à 17:37:07 | ASP.net repeater [optimisation de code] C#

mampa

Bonjour,

Voila ma question je débute en ASP.NET (C#) je fait une petite application web pour la recherche intérimaire depuis une base SQL.SERVER tout fonctionne mais j'aimerais optimiser le code C# et plus particulièrement mon repeater affichant les résultats de ma recherche.

Je m'explique à ce jour j'ai 2 repeater distinct 1 pour ma page "résultat.aspx" et 1 autre pour l'affichage complet de ma table "Affichage.aspx", si dans un futur proche je serais amener à ajouter une colonne je devrais modifier à 2 endroits..

Donc voila si quelqu'un aurais une idée je n'ai pas trouvé...j'ai du mal avec la recherche je n'ai pas les "bon mot"
voila mon code :
Code :
protected void Page_Load(object sender, EventArgs e)
        {
            //récupération des paramètre de l'url
            string Nomcherche = Request.QueryString["nom"];
            string Idrechercher = Request.QueryString["id"];
            string TypeRecherche = Request.QueryString["*"];
            //boolèen si aucun résultat
            bool Recherche = false;
            //affecte la methode rptPersonnes_ItemDataBound lorsque l'on va boucler sur les données
            rptPersonnes.ItemDataBound += new RepeaterItemEventHandler(rptPersonnes_ItemDataBound);

            List ListInterimaire = new List();
            string ConnectionString = "Data Source=PILOTT-LGZ;Initial Catalog=Interimaires;Integrated Security=True;Pooling=False";
            SqlConnection SqlC = new SqlConnection(ConnectionString);
            SqlC.Open();
            SqlCommand SQLCmd = SqlC.CreateCommand();

            if (TypeRecherche == "deb")
            {
                SQLCmd.CommandText = " SELECT * FROM DataBaseInterimaire.dbo.Interimaire WHERE Nom LIKE '" + Nomcherche + "%'";
            }
            else if (TypeRecherche == "fin")
            {
                SQLCmd.CommandText = " SELECT * FROM DataBaseInterimaire.dbo.Interimaire WHERE Nom LIKE '%" + Nomcherche + "'";
            }
            else if (TypeRecherche == "com")
            {
                SQLCmd.CommandText = " SELECT * FROM DataBaseInterimaire.dbo.Interimaire WHERE Nom LIKE '%" + Nomcherche + "%'";
            }
            else
            {
                SQLCmd.CommandText = " SELECT * FROM DataBaseInterimaire.dbo.Interimaire WHERE Nom = '" + Nomcherche + "'";
            }
            SqlDataReader SqlReader = SQLCmd.ExecuteReader();
            while (SqlReader.Read())
            {
                Personne candidat = new Personne();

                int a = 0;
                if (int.TryParse(SqlReader["Id"].ToString(), out a))
                {
                    candidat.ID = a;
                }
                candidat.Nom = SqlReader["Nom"].ToString();
                candidat.Email = SqlReader["Email"].ToString();
                candidat.Ville = SqlReader["Ville"].ToString();
                candidat.DateNaissance = Convert.ToDateTime(SqlReader["DateNaiss"]);
                Recherche = true;
                NoResult.Text = string.Empty;

                ListInterimaire.Add(candidat);
                //on lie notre source de données
                rptPersonnes.DataSource = ListInterimaire;
                //FichierNom.GetPersonnesByNom(Nomcherche)
                //on dit au repeater de faire le rendu des données
                rptPersonnes.DataBind();
            }
            SqlC.Close();
            if (Recherche == false)
            {
                NoResult.Text = "Aucun resultat";
            }
        }
        void rptPersonnes_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Personne personneEnCours = (Personne)e.Item.DataItem;
                Label lblNom = (Label)e.Item.FindControl("lblNom");
                Label lblId = (Label)e.Item.FindControl("lblId");
                Label lblVille = (Label)e.Item.FindControl("lblVille");
                Label lblDate = (Label)e.Item.FindControl("lblDate");
                Label lblEmail = (Label)e.Item.FindControl("lblEmail");
                HyperLink LienEdit = (HyperLink)e.Item.FindControl("LienEdit");
                HyperLink LienSup = (HyperLink)e.Item.FindControl("LienSup");

                //affectation des donnée dans le repeater
                lblNom.Text = personneEnCours.Nom;
                lblId.Text = personneEnCours.ID.ToString();
                lblVille.Text = personneEnCours.Ville;
                lblEmail.Text = personneEnCours.Email;
                lblDate.Text = personneEnCours.DateNaissance.ToString();
                //lien vers la page édition avec comme paramètres l'id de l'intérimaire concerné
                LienEdit.NavigateUrl = "Edition.aspx?id=" + lblId.Text;
                //lien vers la page suppression avec comme paramètres l'id de l'intérimaire concerné
                LienSup.NavigateUrl = "Suppression.aspx?id=" + lblId.Text;
            }
        }


cordialement guillaume


Cette discussion est classée dans : label, text, item, id, sqlreader


Répondre à ce message

Sujets en rapport avec ce message

Erreur de syntaxe dans l'instruction INSERT INTO [ par malain24 ] Bonjour,je suis débutant en asp.netSur un livre, ils apprennent à faire un site web avec une base de donnéeaccess avec une seule table.Le but étant d' Récupérer name id et value d'un <option> en ASP [ par ypikai ] Bonjour,Alors voilà j'ai un code html qui ressemble à ça : <option id=0 name=1 value="toto1"& Confirmation d'une supression [ par hudon77 ] J'ai un bouton supprimer que je créer dans mon page_load  et il fonctionnait tres bien avant que je mettre un if not ispostback   mais si j'enleve le Requete dans Mysql OK ... Access ne fonctionne pas [ par LABAUDE ] Bonjour,Impossible de convertir la requete suivante fonctionnant avec phpmyadmin en requete pour une base access. Pouvez vous m'aider?SELECT DISTINCT calendrier asp.net 2.0(urgent) [ par 070107198 ] rachBonjourje veux utiliser un popup pour sélectionner une date à partir d'un calendrier et l'afficher dans un TextBox, le probléme est que aprés la s Formulaire Comment Faire pour passer en mode INSERT ? [ par ranouf ] DataSourceID="ObjectDataSource1"> Id_Utilisateu update dans formview + sqldatasource [ par jimmy28 ] Salut à tous,Voilà, ca fait des semaines que je cherche désespérément pourquoi mon UPDATE ne fonctionne pas.Je travaille en asp.net 2.0 et VB.net s Label1.Text="Ma Chaine" [ par 24 ans ] Salut tout le monde.j'ai ajouter le Master page à mon application,et dans son entete j ai placer un label . je voudrais que lorsque une page est charg problème récupération d'un text [ par lenneth666 ] arf je suis débutant avec les datagrid alros dsl si j'innonde le forum avec mes messages.Voila mon problème, une fois que je suis passé un mode éditio


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 : 0,468 sec (3)

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