2013-04-09 103 views
4

我想在电子邮件正文中显示数据表。我使用下面的函数在c中的电子邮件正文中显示数据表#

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

,但我的邮箱是越来越显示像转换数据表中的html标签下面

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! 

如何以表格格式而不是字符串显示???

+0

请向我们展示如何实际创建和发送邮件。 – 2013-04-09 14:23:48

+0

您使用的邮件客户端是否支持html?您是否设置了内容类型? – Lucas 2013-04-09 14:23:54

+0

你发送电子邮件为html或文本? – 2013-04-09 14:24:38

回答

10

确保您将IsBodyHtml属性MailMessage设置为true

+0

谢谢......它的工作原理 – user1415173 2013-04-09 14:28:59

+0

这是因为你把html作为文本而不是html;)(为了清楚起见) – 2013-04-09 15:12:34

相关问题