отправить обработанный GridView по электронной почте - PullRequest
1 голос
/ 03 августа 2011

У меня есть GridView, HTML-код которого мне нужно поместить в электронное письмо.

Как это можно сделать?

Ответы [ 4 ]

1 голос
/ 03 августа 2011

используйте средство записи HTML-текста для визуализации элемента управления 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();
}
0 голосов
/ 03 августа 2011

В идеале вы не должны беспокоиться об элементе управления GridView. Возьмите данные, отображаемые в элементе управления, отформатируйте их так, как вы хотите, и передайте их в качестве тела сообщения.

Я бы рассматривал логику для отображения Grid в моем приложении и создания сетки для тела сообщения как две отдельные функции. То, что будет общим между ними, является источником данных. Для форматирования данных (создания таблицы) вы можете использовать класс HTMLTextWriter (как уже упоминалось другими) и форматировать данные так, как вам нужно.

0 голосов
/ 03 августа 2011

Используйте построитель строк, чтобы создать таблицу HTML для повторной выборки вашего вида сетки следующим образом:

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>");
0 голосов
/ 03 августа 2011

Две вещи, которые вы можете сделать для этого

1) сделать снимок экрана текущей страницы с помощью любой утилиты и отправить по почте

2) Вы можете экспортировать сетку как Excel, а затем отправить ее по почте.

Экспорт сетки в Excel http://geekswithblogs.net/azamsharp/archive/2005/12/21/63843.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...