контроль, была ли электронная почта уже проверена в gridview

#c# #email #loops

#c# #Адрес электронной почты #циклы

Вопрос:

Сначала я определю проблему. У меня есть gridview, в котором есть флажки для столбцов и адреса электронной почты в другом столбце. Если, например, я выбираю 3 строки из 7, и у всех этих 3 строк одинаковый адрес электронной почты, мой код отправит 3 электронных письма на этот адрес. Возможно ли получить эти 3 строки в 1 письме?

Мой текущий код выглядит следующим образом:

 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, но мне могла бы понадобиться некоторая помощь здесь.

С уважением, Мати

Комментарии:

1. я думаю, что ее просто проверить, если вы добавите и просто отправите ее..

Ответ №1:

 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 amp;amp; !lst.Contains(emadr))
      {
        lst.Add(emadr);
        MailMessage mail = new MailMessage();
        mail.To.Add(emadr.ToString());
        ....
       }
     }
}
  

Комментарии:

1. Эй, Джакс, я считаю, что это работает, да. Я протестировал это, и я получаю только 1 электронное письмо в свой почтовый ящик. Но содержимое электронного письма неверно. Если я выберу 2 строки с одинаковым адресом электронной почты, я получу только строку заказа, которую программа встретила первой в базе данных. Таким образом, в основном мой 2-й заказ не добавляется в электронное письмо. Должно быть что-то еще в моем коде. Спасибо за помощь.