begin process at 2012 02 14 03:49:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Scripting

 > 

Javascript

 > 

javascript dans une boucle for dans le codebehind


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

javascript dans une boucle for dans le codebehind

mardi 31 juillet 2007 à 18:49:51 | javascript dans une boucle for dans le codebehind

lomito


Salut.

je suis sous VS 2005 et dans une boucle foreach de ma méthode, je veux à chaque ligne, afficher les informations que je récupère dans ma datatable et  les afficher.
en gros  quand je suis sur la ligne 1, j'affiche ses infos
et quand je passe sur la 2, pareil. sans que je n'intervienne en cliquant un bouton ou quelquechose d'autre.
Je voudrais que les infos s'affichent dans un label ou un controle html que j'ai déjà.

foreach (datarow row in mydatatable.rows)
{
  .....

//affichage des infos de la row["xxx"] dans le label ou un autre controle.

....

}


Let's work!
mardi 31 juillet 2007 à 23:45:45 | Re : javascript dans une boucle for dans le codebehind

yann_lo_san

Vu que l'affichage se fait sur le client, tu ne peux pas afficher ligne par ligne, il faut attendre la fin de la boucle.

Cela n'empèche pas d'écrire les données au fur et à mesure dans la réponse :
Response.Write(row["xxx"] .ToString() + "<br />");

Ou de les accumuler dans un label  :
monLabel.Text += row["xxx"] .ToString() + "<br />";

Mais j'avoue que ta question manque de précision sur ce que tu souhaites réellement faire.

A plus.

mercredi 1 août 2007 à 11:13:36 | Re : javascript dans une boucle for dans le codebehind

lomito

Merci d'avoir réagi.
j'ai une datatable dans laquelle  je mets des adresses mails et autres informations et je la parcours pour envoyer des mails aux adresses qui s'y trouvent. Les lignes sont nombrueses et les mails peuvent être gros et logns à constituer. Je voudrais voir dans mon label ou autre, sur quelle ligne je suis exactement à un instant t.


Let's work!
mercredi 1 août 2007 à 22:53:49 | Re : javascript dans une boucle for dans le codebehind

yann_lo_san

Je pense que ajax fait ça facilement mais avec du bricolage on peut s'en sortir :

// Appelle la page qui traite les mails depuis une page quelconque
// avec juste un label sur la page et rien d'autre (lbl_info)


// Le code behind ne contient que la méthode page_load() avec des données de tests

private void Page_Load(object sender, System.EventArgs e)
{
   
if( !IsPostBack )
   
{
      
if(Session["dataTable"] ==null)
      
{
         
System.Data.DataTable myDataTable =new DataTable();
        
myDataTable.Columns.Add("Champ1", typeof(String));
         
myDataTable.Rows.Add(newobject[]{"VAL1"});
         
myDataTable.Rows.Add(newobject[]{"VAL2"});
        
myDataTable.Rows.Add(newobject[]{"VAL3"});

         
// traite dt.Rows[0]
         
this .lbl_info.Text = myDataTable.Rows[0]["Champ1"].ToString(); 

         
// sauve
         
Session["dataTable"] = myDataTable;
         Session["compteurLigne"] =0;

         
// reload
         
Response.Write("<script>window.setTimeout(\"window.location.reload(true)\", 2000);</script>");
      
}
      
else
      {
         
System.Data.DataTable dt = (System.Data.DataTable)Session["dataTable"];
         
int cmpt = Int32.Parse(Session["compteurLigne"].ToString());
         
cmpt++;
         
Session["compteurLigne"] = cmpt;
         
if( cmpt < dt.Rows.Count )
         
{
            
// Traite dt.Rows[cmpt]
            
lbl_info.Text = dt.Rows[cmpt]["Champ1"].ToString();
            
Response.Write("<script>window.setTimeout(\"window.location.reload(true)\", 2000);</script>" ); 
         

         
else
         
{
            
this .lbl_info.Text ="Fermeture...";
            
Session.Remove("dataTable");
            
Session.Remove("compteurLigne");
            
Response.Write("<script>window.setTimeout(\"window.close()\", 2000);</script>" );
         
}
   
   }
   }
}


On voit bien le traitement en cours mais avec un rechargement, ce qui n'est pas très joli C'est pourquoi AJAX est utile !

jeudi 2 août 2007 à 11:59:01 | Re : javascript dans une boucle for dans le codebehind

lomito

Merci.
J'ai essayé avec ajax, comme je débute là dedans je n'ai pas réussi.
Pourrais-tu m'éclairer sur comment le faire en ajax?
Je vais tester déjà ce code et je te dis la suite.
meri

Let's work!
jeudi 2 août 2007 à 20:33:08 | Re : javascript dans une boucle for dans le codebehind

yann_lo_san

Ben il faut installer un framework ajax puis il faut
importer les dll avec un <register>
enuite on déclare un <scriptManager>
Puis on entoure le controle que l'on veut traiter avec ajax d'un
<updatePanel ID="monUpdPanel">
   <asp:Label ID="monLabel" />
</updatePanel>

Grace à cela, à chaque postBack seules les parties de la page entourées d'un updatePanel sont raffraichies sans blinker toutes la page !

On peut forcer l'updatePanel dans le code avec 
monUpdPanel.Update();

Mais là c'est une toutes petite partie d'ajax, on peut aussi dessiner sur une page web, appeler des webServices en code client javascript ect...

Seul problème, il faut absolument maitriser le javascript objet (DOM) pour utiliser correctement ajax.
Des classes wrappers existent pour simplifier tout ça.
J'ai un bouquin de 600 pages sur le sujet donc dans un post c'est pas évident d'être super clair.

Ceci dit, bon courage et à plus !



Cette discussion est classée dans : javascript, boucle, infos, for, codebehind


Répondre à ce message

Sujets en rapport avec ce message

Javascript généré en codebehind [ par BirD ] Salut tout le monde,Je suis en train de coder un truc en asp.net, en codebehind, dans lequel je génère un bouton : Dim button As HtmlButtonEt Evenement javascript sur un bouton codebehind [ par BirD ] Salut tout le monde,Je suis en train de coder un truc en asp.net, en codebehind, dans lequel je génère un bouton : Dim button As HtmlButtonEt indexer des composants [ par bilou2000 ] bonjours à tousvoila, j'ai 6 Tblobfields Je voudrais les lire avec un boucle du style for ... for CmpTBoucle:= 0 to 1 do begin Monblobfield.Name Comment récupérer des infos Sql en Javascript? [ par mdemo ] Bonjour,Je travaille avec des stored procedures et objectdatasources.J'ai des url de photos stockées dans la base, et les photos sur disque.Comment pu error 80020009 dans une boucle for [ par jibchamonix ] Bonjour à tous,J'affiche des photos de produits dans un tableau. J'utilise une boucle "for" ("do until" pour être exact). Les photos s'affichent sans for each MAIS EN JAVASCRIPT ?????? [ par wico2002 ] Bonjour je me fais une liste avec des checkboxs dans un formulaire (tous le meme "name" mais "id" different). je veux parcourir toutes les checkbox de Récup valeur input modifié par javascript dans le codebehind via ajax [ par dragulladragulla ] Bonjour,Prob simple je change le value du champ par javascript puis je lance la requête ajax en voulant récupérer la valeur de ce champ en codebehind Exécuter une requette mysql via boucle for [ par peoplehard ] BonjourJ'aimerai que le arrayjour(i) soit exécuté via la boucle for. Mais ça me retourne: <font style="color: rgb(0, 0, 0); font-family: verdana; font boucle for pour creer des DDLs [ par sofiesofie ] salut,je veux créer des dropdown list (DDL) selon le nombre j (par exemple j=3)for(int i=0 ; i{        ///code pour créer la DDL de valeurs( 1, 2)}res Quitter une boucle for [ par flolag ] Salut,Je pense que ma question est basic mais je voudrais savoir en ASP comment fait on pour quitter une boucle for.Car dans mon cas j'ai un tableau d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 4,040 sec (3)

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