2011-04-15 70 views
0

我將首先定義問題。我有一個gridview有一個列複選框和另一列電子郵件地址。例如,如果我從7中選擇3行並且這3行具有完全相同的電子郵件地址,我的代碼將發送3封電子郵件到該地址。是否可以在1封郵件中獲得這3行?控制是否已經在gridview中檢查過電子郵件

我當前的代碼如下所示:

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()); 
     }}} 

我想圍繞lblUsrE另一個循環的,但我在這裏可以使用一些幫助。

問候馬蒂

+0

我認爲它簡單的檢查BEF您添加,只是把它.. – asharajay 2011-04-15 12:20:54

回答

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

嘿JAX,我相信這個工程肯定。我對它進行了測試,在收件箱中只收到1封電子郵件。但電子郵件的內容不正確。如果我選擇具有相同電子郵件地址的2行,我只能得到程序在數據庫中首先遇到的訂單行。所以基本上我的第二個訂單不會被添加到電子郵件中。必須是我的代碼中的其他東西。 Ty幫忙。 – Dieter 2011-04-15 12:45:18

相關問題