2011-04-15 3 views
0

Je vais d'abord définir le problème. J'ai un gridview qui a des cases à cocher de colonne et d'autres adresses électroniques de colonne. Si par exemple je sélectionne 3 lignes sur 7 et que ces 3 lignes ont toutes la même adresse email, mon code enverra 3 emails à l'adresse. Est-il possible d'obtenir ces 3 lignes dans 1 mail?contrôlez si l'email a déjà été coché dans gridview

Mon code actuel ressemble à ceci:

for (int i = 0; i < GridView1.Rows.Count; i++) 
{ 
    CheckBox ck = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBoxATH"); 

    if (ck != null) 
    { 
    Label lblUsrE = (Label)GridView1.Rows[i].Cells[7].FindControl("LabelEmail"); 
     string emadr = lblUsrE.Text.ToString(); 

    if (ck.Checked == true) 
     { 
     MailMessage mail = new MailMessage(); 
      mail.To.Add(emadr.ToString()); 
     }}} 

Je pensais à une autre boucle autour lblUsrE, mais je pourrais utiliser un peu d'aide ici.

Cordialement Mati

+0

Je pense que simple à vérifier bef vous ajoutez et juste l'envoyer .. – asharajay

Répondre

2
List<string> lst = new List<string>(); 
for (int i = 0; i < GridView1.Rows.Count; i++) 
{ 
    CheckBox ck = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBoxATH"); 
    if (ck != null) 
    { 
     Label lblUsrE = (Label)GridView1.Rows[i].Cells[7].FindControl("LabelEmail"); 
     string emadr = lblUsrE.Text.ToString(); 
     if (ck.Checked == true && !lst.Contains(emadr)) 
     { 
     lst.Add(emadr); 
     MailMessage mail = new MailMessage(); 
     mail.To.Add(emadr.ToString()); 
     .... 
     } 
    } 
} 
+0

Hey Jax, je crois que cela fonctionne oui. Je l'ai testé et je reçois seulement 1 email dans ma boîte de réception. Mais le contenu de l'email n'est pas correct. Si je sélectionne 2 lignes avec la même adresse e-mail, je reçois seulement la ligne de commande que le programme a rencontré en premier dans la base de données. Donc, fondamentalement, ma deuxième commande n'est pas ajoutée à l'e-mail. Doit être autre chose dans mon code. Ty pour l'aide. – Dieter

Questions connexes