2011-08-03 11 views
1

私はHTMLを電子メールに入れる必要があるGridViewを持っています。レンダリングされたGridViewを電子メールで送信する

どうすればいいですか?あなたは)この

1のために行う任意のユーティリティを使用して、現在のページのスクリーンショットを取ると、メールで送ることができます

+0

あなたが望む情報を持っている場合は、回答を –

答えて

0

つの事は

2)あなたは、Excelなどのグリッドをエクスポートすることができ、より、メールで送りました。エクセル http://geekswithblogs.net/azamsharp/archive/2005/12/21/63843.aspx

+0

私はどのようにExcelのようにグリッドをエクスポートするか教えてください – satya

+0

@アップデート - 更新された答えをチェックしてくださいエクスポートグリッドのためのリンクを貼り付けるか、Googleで検索することができますあなたは答えを得るでしょう –

1

輸出グリッドは、あなたのメッセージ本文としてこのstring.useとしてHTML出力を取得するGridViewのcontrol.YouをレンダリングするためのhtmlTextライターを使用しています。

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

はそうのようなあなたのGridViewをリサンプリングするためにHTMLテーブルを作成するためのStringBuilderを使用します。

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

理想的には、GridViewコントロールを心配すべきではありません。コントロールに表示されているデータを取り出し、必要な方法でフォーマットし、メッセージ本文として渡します。

私はアプリケーションでグリッドを表示し、2つの別個の機能としてメッセージ本体のグリッドを生成するロジックを扱います。両者の共通点は、データのソースです。データの書式設定(グリッドの生成)では、HTMLTextWriterクラスを使用して(他の人が触れたように)、必要な方法でデータを書式設定できます。