0

この問題について私を助けてくれる人がいることを願っています。この電子メール機能の目的は、電子メール本文に特定の URL 文字列が添付された GridView に電子メールがリストされている個人に電子メールを送信することです。GridView から複数の電子メールを送信し、電子メール本文の URL に現在のクエリ文字列を渡すこともできました。したがって、ここまではすべて正常に機能しています。解決できなかった課題が 1 つあります。GridView 内のメールの対応する ID も URL に含めたいと思います。現在の URL は次のようになります: //MyHost/BCA/Users/QMR.aspx?Post_ID=303

私のグリッドビューが次のようになっている場合:

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

次に、この電子メールに対応する ID を以下のように URL に含め、その 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);

これにより、グリッドビューの各行の最初の列 (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 に答える