Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : javascript dans une boucle for dans le codebehind [ Scripting / Javascript ] (lomito)

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

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 1,451 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.