4

メールの本文にデータテーブルを表示しようとしています。以下の関数を使用して、htmlタグのデータテーブルを変換しています

private static string getHTML(DataTable dt)

    {
        StringBuilder myBuilder = new StringBuilder();

        myBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");
        myBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>");

        myBuilder.Append("<tr align='left' valign='top'>");
        foreach (DataColumn myColumn in dt.Columns)
        {
            myBuilder.Append("<td align='left' valign='top'>");
            myBuilder.Append(myColumn.ColumnName);
            myBuilder.Append("</td>");
        }
        myBuilder.Append("</tr>");

        foreach (DataRow myRow in dt.Rows)
        {
            myBuilder.Append("<tr align='left' valign='top'>");
            foreach (DataColumn myColumn in dt.Columns)
            {
                myBuilder.Append("<td align='left' valign='top'>");
                myBuilder.Append(myRow[myColumn.ColumnName].ToString());
                myBuilder.Append("</td>");
            }
            myBuilder.Append("</tr>");
        }
        myBuilder.Append("</table>");

        return myBuilder.ToString();
    }

以下のように、返された文字列をstringbuilderに提供します

StringBuilder sb = new StringBuilder(); 
                sb.AppendLine("Dear Responsible,"); 
                sb.AppendLine(""); 
                sb.AppendLine("Following items are added."); 
                sb.AppendLine(""); 
                sb.AppendLine(myBuilder.ToString())    //here I want the data to       display in table format
                sb.AppendLine("Many thanks in advance!");
                sb.AppendLine("");

しかし、私のメールは以下のように表示されています

Dear Responsible,

Following items are added.

<table border='1px' cellpadding='5' cellspacing='0' style='border: solid 1px Silver; font-size: x-small;'><tr align='left' valign='top'><td align='left' valign='top'>INC_NUMBER</td><td align='left' valign='top'>SERVICE</td><td align='left' valign='top'>ASSIGNED_GROUP</td><td align='left' valign='top'>ASSIGNEE</td><td align='left' valign='top'>STATUS</td><td align='left' valign='top'>DUEHOURS</td></tr><tr align='left' valign='top'><td align='left' valign='top'>INC</td><td align='left' valign='top'>GSI</td><td align='left' valign='top'>L2</td><td align='left' valign='top'>Mahen A</td><td align='left' valign='top'>Pending</td><td align='left' valign='top'>4</td></tr></table>

Many thanks in advance! 

文字列ではなく表形式で表示するにはどうすればよいですか???

4

1 に答える 1

10

IsBodyHtmlのプロパティをMailMessageに設定していることを確認してくださいtrue

于 2013-04-09T14:24:28.307 に答える