在电子邮件中发送渲染的GridView

时间:2011-08-03 09:35:03

标签: asp.net email

我有一个GridView,我需要将其放入电子邮件中。

如何做到这一点?

4 个答案:

答案 0 :(得分:1)

使用HTMLtext编写器渲染gridview控件。您将获得一个HTML输出字符串。将此作为您的邮件正文。

public string RenderControl(Control ctrl) 
{
StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);

ctrl.RenderControl(hw);
return sb.ToString();
}

答案 1 :(得分:0)

你可以为此做两件事

1)使用任何实用程序拍摄当前页面的屏幕截图并发送邮件

2)您可以将网格导出为ex​​cel,而不是通过邮件发送。

将网格导出到Excel     http://geekswithblogs.net/azamsharp/archive/2005/12/21/63843.aspx

答案 2 :(得分:0)

使用stringbuilder创建一个HTML表来重新采样gridview,如下所示:

var output = new StringBuilder("<table cellpadding='5' style='border: solid 1px black;'>");
foreach (GridViewRow row in MyGridView.Rows)
{
    output.Append("<tr>");
    output.Append("<td>" + Title + "</td>");
    output.Append("<td>" + Price + "</td>");
    output.Append("<td>" + Quantity + "</td>");
    output.Append("</tr>");

}
output.Append("</table>");

答案 3 :(得分:0)

理想情况下,您不应该关注GridView控件。获取控件中显示的数据,以您想要的方式对其进行格式化,并将其作为邮件正文传递。

我会将逻辑视为在我的应用程序中显示Grid并为消息体生成网格作为两个单独的功能。两者之间的共同点是数据来源。对于数据的格式化(生成网格),您可以使用HTMLTextWriter类(如其他人所述)并以您希望的方式格式化数据。