C# 如何通过单击邮件按钮向gridview中单独列出的每个用户发送电子邮件?

C# 如何通过单击邮件按钮向gridview中单独列出的每个用户发送电子邮件?,c#,asp.net,sql-server-2008,gridview,smtp,C#,Asp.net,Sql Server 2008,Gridview,Smtp,目前整个网格正在发送给所有用户。我想分别向每个用户发送电子邮件,只有他们的数据应该通过电子邮件发送给他们 主页aspx。页面 在邮件按钮事件激发时,整个网格将发送给所有用户。 我想当邮件按钮事件触发时,首先它应该根据用户名从数据库中获取电子邮件地址,然后将邮件发送给网格中的第一个用户,然后再发送给第二个用户,依此类推 主页aspx.cs页 如何在GridView中显示用户?显示标记。另外,您提到的按钮是GridView的一部分还是位于GridView之外?按钮位于网格之外&用户在网格视图中根据其

目前整个网格正在发送给所有用户。我想分别向每个用户发送电子邮件,只有他们的数据应该通过电子邮件发送给他们

主页aspx。页面

在邮件按钮事件激发时,整个网格将发送给所有用户。 我想当邮件按钮事件触发时,首先它应该根据用户名从数据库中获取电子邮件地址,然后将邮件发送给网格中的第一个用户,然后再发送给第二个用户,依此类推

主页aspx.cs页


如何在GridView中显示用户?显示标记。另外,您提到的按钮是GridView的一部分还是位于GridView之外?按钮位于网格之外&用户在网格视图中根据其任务显示。i、 用户名!项目名称!任务描述!是时候了!行动时间!完整的!按下按钮?它在GridView外面?是的,它在GridWok外面。然后您应该尝试在GridView行上循环,检查每行中的用户,发送邮件。。。
    <asp:Button ID="mail" runat="server" Text="Mail" CssClass="button" OnClick="mail_Click" Style="margin-left: 10px; width: 100px; font-family: Verdana, Geneva, sans-serif;" />
 protected void mail_Click(object sender, EventArgs e)
    {
        using (StringWriter sw = new StringWriter())
        {
            using (HtmlTextWriter hw = new HtmlTextWriter(sw))
            {
                System.Web.UI.HtmlControls.HtmlForm frm = new System.Web.UI.HtmlControls.HtmlForm();
                grdTask.Parent.Controls.Add(frm);
                frm.Attributes["runat"] = "server";
                frm.Controls.Add(grdTask);
                grdTask.Columns[7].Visible = false;
                frm.RenderControl(hw);
                StringReader sr = new StringReader(sw.ToString());
                MailMessage mm = new MailMessage(AppSettings.FromMail, AppSettings.ToMail);
                mm.Subject = "Today Status";
                mm.Body = "Hi All, <br /> <br /> Below are the task detail for today:<br /> " + sw.ToString() + "<br /><br />Thanks<br />";
                mm.IsBodyHtml = true;
                SmtpClient smtp = new SmtpClient();
                smtp.Host = AppSettings.SmtpHost; //"smtp.gmail.com";
                smtp.EnableSsl = true;
                System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
                NetworkCred.UserName = AppSettings.NetworkCredUsername;
                NetworkCred.Password = AppSettings.NetworkCredPassword;
                smtp.UseDefaultCredentials = true;
                smtp.Credentials = NetworkCred;
                smtp.Port = AppSettings.SmtpPort;//587;
                smtp.Send(mm);
                Response.Redirect("Home.aspx");

            }
        }
    }