0

我希望有人能在这个问题上帮助我。此电子邮件功能的目的是向其电子邮件在 GridView 中列出的个人发送电子邮件,并在电子邮件正文中附加特定的 URL 字符串。我能够从 GridView 发送多封电子邮件,并在电子邮件正文的 URL 中传递当前查询字符串。所以到这里一切都很好。我有一个无法解决的挑战。我还想在 URL 中包含 GridView 中相应的电子邮件 ID。这是我当前 URL 的样子: //MyHost/BCA/Users/QMR.aspx?Post_ID=303

如果我的 gridview 看起来像这样:

ID        Name              Email                       Post_ID
-------------------------------------------------------------------
32        Mike              xx@hot.com                  303

然后我想在我的 URL 中包含此电子邮件的相应 ID,如下所示,并能够将 URL 发送给该用户: //MyHost/BCA/Users/QMR.aspx?Post_ID=303&ID=32

谢谢

这是我的代码:

protected void btnSendEmail_Click(object sender, EventArgs e)
 {
     MailMessage mailMessage = new MailMessage();
     foreach (GridViewRow gr in GridView1.Rows)
     {
         CheckBox cb = (CheckBox)gr.FindControl("chkItem");
         if (cb.Checked)
         {

             mailMessage.To.Add(new MailAddress(GridView1.DataKeys[gr.RowIndex]["Assigned_To"].ToString()));
             mailMessage.From = new System.Net.Mail.MailAddress(System.Configuration.ConfigurationManager.AppSettings["fromEmailAddress"]);
             mailMessage.Priority = System.Net.Mail.MailPriority.High;
             //Text/HTML
             mailMessage.IsBodyHtml = false;
             string mySubURI= HttpContext.Current.Request.Url.AbsoluteUri.ToString().Replace("Test.aspx", "QMR.aspx");       
             mailMessage.Body = "Hello, Please see this link" + mySubURI;
             mailMessage.Subject = "My Email Test";

             System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
             try
             {
                 smtpClient.Send(mailMessage);

                 //Response.Write("<B>Email Has been sent successfully.</B>");
             }
             catch (Exception ex)
             {
                 Response.Write(ex.Message);

          }
}
4

1 回答 1

1

试试这个

mySubURI += String.Format("&ID={0}", gr.Cells[0].Text);

有了它,您可以访问 gridview 中每一行的第一列(即 ID)并将其附加到现有 Url 的末尾

实际上,我认为这是您需要 Url 的行,如果下次出错,请从您的问题中明确说明您需要帮助的地方

 string mySubURI= HttpContext.Current.Request.Url.AbsoluteUri.ToString().Replace("Test.aspx", "QMR.aspx");       
 mySubURI += String.Format("&ID={0}", gr.Cells[0].Text);
 mailMessage.Body = "Hello, Please see this link " + mySubURI;
于 2012-10-24T22:35:58.187 回答