如何创建新的gridview/datalist
并填充后面的代码并发送为email body
?
我已经填充了DataList
项,但我不想发送其中的所有列。所以,我想用我想要的列生成一个gridview,用于发送电子邮件。
以下是我为
GridView gv = new GridView();
DataTable tbl = new DataTable();
tbl.Columns.Add("Items", typeof(string));
tbl.Columns.Add("Price", typeof(string));
tbl.Columns.Add("Total", typeof(string));
List<HiredList> hl = new List<HiredList>();
hl = (List<HiredList>)Session["Hired"];
foreach (var i in hl)
{
DataRow itms = tbl.NewRow();
itms["Items"] = i.pName;
itms["Price"] = i.price;
itms["Total"] = i.pTotal;
}
//use AutoGenerateColumnsto let grid generate the column itself'
gv.AutoGenerateColumns = true;
gv.DataSource = tbl;
gv.DataBind();
然后将此gridview发送到
private string GetGridviewData(GridView gvList)
{
StringBuilder strBuilder = new StringBuilder();
StringWriter strWriter = new StringWriter(strBuilder);
HtmlTextWriter htw = new HtmlTextWriter(strWriter);
gvList.RenderControl(htw);
return strBuilder.ToString();
}
但作为回报,我只收到,在收到的电子邮件中。 我不知道我犯了什么错误。
答案 0 :(得分:0)
在gridview中将数据作为邮件发送:
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);
}
//此方法用于渲染gridview控件
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
对于纯HTML页面作为邮件:
http://www.aspdotnet-suresh.com/2012/09/how-to-send-html-page-as-email-body-in.html
对于DataLists:
http://www.dreamincode.net/forums/topic/269410-send-datalist-value-within-contact-page/
希望它有所帮助。