2

私は、とまり木製品の詳細を顧客に電子メールで送信する必要があるオンライン注文 Web アプリケーションを開発しています。すべてのデータをデータ テーブルに保持し、次のように実用的にグリッド ビューを生成しました。

 public GridView makeGridview(DataTable Dt)
        {
            GridView GV = new GridView();
            GV.DataSource = Dt;
            GV.DataBind();
            return GV;
        }

次に、このグリッド ビューを電子メールに追加します

 body = body.Replace("{Product_Details}", GridViewToHtml(makeGridview(Dt)));

private string GridViewToHtml(GridView gv)
        {
            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            HtmlTextWriter hw = new HtmlTextWriter(sw);
            gv.RenderControl(hw);
            return sb.ToString();
        }

これは正常に機能していますが、事前定義された形式で設計できないという問題があります。このメールは私のウェブサイトの顧客が受け取るので、変換する必要があります。それらをフォーマットする方法を教えてください。

これを行う別の方法があれば、それも受け入れます。

4

4 に答える 4

0

次のコードに従います。

public void SendHTMLMail()
{
MailMessage Msg = new MailMessage();
MailAddress fromMail = new MailAddress("administrator@aspdotnet-suresh.com");
// Sender e-mail address.
Msg.From = fromMail;
// Recipient e-mail address.
Msg.To.Add(new MailAddress("suresh@gmail.com"));
// Subject of e-mail
Msg.Subject = "Send Gridivew in EMail";
Msg.Body += "Please check below data <br/><br/>";
Msg.Body += GetGridviewData(gvUserInfo);
Msg.IsBodyHtml = true;
string sSmtpServer = "";
sSmtpServer = "10.2.160.101";
SmtpClient a = new SmtpClient();
a.Host = sSmtpServer;
a.EnableSsl = true;
a.Send(Msg);
}
// This Method is used to render gridview control
public string GetGridviewData(GridView gv)
{
StringBuilder strBuilder = new StringBuilder();
StringWriter strWriter = new StringWriter(strBuilder);
HtmlTextWriter htw = new HtmlTextWriter(strWriter);
gv.RenderControl(htw);
return strBuilder.ToString();
}

以下のドキュメントを参照してください。

http://www.aspdotnet-suresh.com/2012/09/how-to-send-gridview-in-email-body-in.html

于 2013-10-08T14:02:17.523 に答える