gpt4 book ai didi

c# - 如何使用格式在电子邮件中发送 gridview

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:13 26 4
gpt4 key购买 nike

我正在开发一个在线订购 Web 应用程序,我必须在其中通过电子邮件将 perches 产品详细信息发送给客户。我已将所有数据维护在数据表中,然后按如下方式实用地生成 GridView

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

然后将这个 GridView 添加到电子邮件

 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();
}

这工作正常,但问题是我无法以我们的预定义格式设计它。这封邮件将由我网站的客户收到,因此我需要转换为我们的客户。请指导我如何格式化它们。

如果有另一种方法可以做到这一点,那么我也愿意接受。

最佳答案

我建议您不要相信 GridView 作为您呈现的 html,而是使用您当前的数据源 (DataTable):

    public GridView CreateHtmlTable(DataTable dt)
{
//Do your HTML work here, like the following:
string tab = "\t";

StringBuilder sb = new StringBuilder();

sb.AppendLine("<html>");
sb.AppendLine(tab + "<body>");
sb.AppendLine(tab + tab + "<table>");

// headers.
sb.Append(tab + tab + tab + "<tr>");

foreach (DataColumn dc in dt.Columns)
{
sb.AppendFormat("<td>{0}</td>", dc.ColumnName);
}

sb.AppendLine("</tr>");

// data rows
foreach (DataRow dr in dt.Rows)
{
sb.Append(tab + tab + tab + "<tr>");

foreach (DataColumn dc in dt.Columns)
{
string cellValue = dr[dc] != null ? dr[dc].ToString() : "";
sb.AppendFormat("<td>{0}</td>", cellValue);
}

sb.AppendLine("</tr>");
}

sb.AppendLine(tab + tab + "</table>");
sb.AppendLine(tab + "</body>");
sb.AppendLine("</html>");
}

关于c# - 如何使用格式在电子邮件中发送 gridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19249724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com