asp.net c#将数据集中的数据转换为电子邮件正文?
从数据集到电子邮件正文的最佳方式是什么?
我有一个.net控制台应用程序,根据存储过程的结果发送电子邮件通知,并想知道从SQL数据到电子邮件正文的最佳方式?
带有颜色和字体的html主体是最好的,但纯文本也很好。
谢谢。
怎么样:
- 参考System.Web(使用System.Web.UI.WebControls添加;)
- 实例化DataGrid或GridView或您喜欢的任何输出
- 绑定DataTable
-
渲染为字符串 – 使用类似的东西
var buffer = new StringBuilder(); var tw = new HtmlTextWriter(new StringWriter(buffer))) datagrid.RenderControl(tw); var emailbodyHtmlPart = buffer.ToString();
- 对DataSet中的每个DataTable执行此操作
- 将结果添加到电子邮件的html正文中
当然,这不是经过测试,但原则上应该有效。
static string getHTML(DataTable dt) { StringBuilder myBuilder = new StringBuilder(); myBuilder.Append(""); myBuilder.Append(""); foreach (DataColumn myColumn in dt.Columns) { myBuilder.Append(""); myBuilder.Append(myColumn.ColumnName); myBuilder.Append(" "); } myBuilder.Append(" "); foreach (DataRow myRow in dt.Rows) { myBuilder.Append(""); foreach (DataColumn myColumn in dt.Columns) { myBuilder.Append(""); myBuilder.Append(myRow[myColumn.ColumnName].ToString()); myBuilder.Append(" "); } myBuilder.Append(" "); } myBuilder.Append("
"); return myBuilder.ToString(); }