Я пытаюсь контролировать, есть ли уже адрес электронной почты в списке, и если это так, я бы хотел добавить строку из вида сетки в новый вид сетки, который будет отправлен на эту учетную запись электронной почты.
У меня есть код для получения строк и отправки их на адрес электронной почты.Но проблема в том, что он отправляет только 1 строку на адрес электронной почты, хотя несколько строк для этого адреса были проверены.
Смотрите здесь мой код:
protected void ButtonATH_Click(object sender, EventArgs e)
{
List<string> lst = new List<string>();
for (int i = 0; i < GridViewBestelling.Rows.Count; i++)
{
CheckBox ck = (CheckBox)GridViewBestelling.Rows[i].Cells[0].FindControl("CheckBoxAfTeHalen");
Label bestelID = (Label)GridViewBestelling.Rows[i].Cells[5].FindControl("LabelBestelID");
Label lblUsrE = (Label)GridViewBestelling.Rows[i].Cells[7].FindControl("LabelEmailGeb");
string emadr = lblUsrE.Text.ToString();
string conn = "Data Source=pc-...";
GridView grd = new GridView();
if (ck.Checked)
{
System.Data.SqlClient.SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection(conn);
sqlConn.Open();
System.Data.SqlClient.SqlCommand updateCommand = new System.Data.SqlClient.SqlCommand("UPDATE tblBestelling SET tBestAfTeHalen = '" + ck.Checked + "' WHERE tBestId= '" + bestelID.Text + "'", sqlConn);
updateCommand.Parameters.AddWithValue("@bestID", bestelID.Text);
updateCommand.ExecuteNonQuery();
LabelSendGridBoven.Text = "<b>Hello: <br /><br /> ";
LabelSendGridBoven.Visible = false;
LabelHoeveelheid.Text = "<br /><br /> Amount" ;
LabelHoeveelheid.Visible = false;
LabelSendGridTussen.Text = "Regards";
LabelSendGridTussen.Visible = false;
LabelSendGridOnder.Text = "<br /><br />----------------------" ;
LabelSendGridOnder.Visible = false;
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("B_ID"));
dt.Columns.Add(new DataColumn("P"));
dt.Columns.Add(new DataColumn("M"));
dt.Columns.Add(new DataColumn("H"));
dr = dt.NewRow();
dr["B_ID"] = ((Label)GridViewBestelling.Rows[i].Cells[5].FindControl("LabelBestelID")).Text;
dr["P"] = ((Label)GridViewBestelling.Rows[i].Cells[8].FindControl("LabelProduct_naam")).Text;
dr["M"] = ((Label)GridViewBestelling.Rows[i].Cells[9].FindControl("LabelManufact_Nr")).Text;
dr["H"] = ((Label)GridViewBestelling.Rows[i].Cells[3].FindControl("LabelHoeveelheid")).Text;
dt.Rows.Add(dr);
grd.DataSource = dt;
grd.DataBind();
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);
grd.RenderControl(htw);
if ( !lst.Contains(emadr))
{
lst.Add(emadr);
System.Data.SqlClient.SqlConnection sqlConn2 = new System.Data.SqlClient.SqlConnection(conn);
sqlConn2.Open();
System.Data.SqlClient.SqlCommand updateCommand2 = new System.Data.SqlClient.SqlCommand("UPDATE tblBestelling SET Status=@statusChange WHERE tBestId= '" + bestelID.Text + "'", sqlConn2);
updateCommand2.Parameters.AddWithValue("@statusChange", statusChange.ToString());
updateCommand2.Parameters.AddWithValue("@bestID", bestelID.Text);
updateCommand2.ExecuteNonQuery();
sqlConn2.Close();
try
{
MailMessage mail = new MailMessage();
mail.To.Add(emadr.ToString());
mail.Bcc.Add("SomeoneBcc");
mail.From = new MailAddress("FromWho");
mail.Subject = "SomeSubject";
string Body = LabelSendGridBoven.Text + sb.ToString() + LabelHoeveelheid.Text + LabelSendGridTussen.Text + "<br /><img alt=\"\" hspace=0 src=\"cid:imageId\" align=baseline border=0 >" + LabelSendGridOnder.Text + "<BR>";
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Body, null, "text/html");
LinkedResource imagelink = new LinkedResource(Server.MapPath(".") + @"\logo\Logo.jpg");
imagelink.ContentId = "imageId";
imagelink.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;
htmlView.LinkedResources.Add(imagelink);
mail.AlternateViews.Add(htmlView);
SmtpClient smtp = new SmtpClient("..server..");
smtp.Send(mail);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}
}
}
В результате получается 1 электронное письмо на каждую учетную запись электронной почты, которое было проверено со всеми строками, но мне бы хотелось, чтобы только строки соответствовали адресу электронной почты.1008 *
Кто-нибудь, пожалуйста, идея?