【问题标题】:Writing HTML code in C#用 C# 编写 HTML 代码
【发布时间】:2012-07-11 21:49:49
【问题描述】:

我想做的是;

for (int i = 0; i < thexfiles.Length; i++)
{
    tosend = tosend + "<tr><td>"+thexfiles[i]+"</td><td>"+thexdates[i]+"</td></tr><tr>";
}
mail.Body = tosend;

我想将数据插入到 C# 代码中的表中(也许使用 html?),所以当它被邮寄时它看起来很干净。

【问题讨论】:

  • 那么到底是什么问题呢?你已经向我们展示了你自己的答案......
  • 那代码不起作用,它只是发送 +thexfiles[i]+ +thexdates[i]+ 发送邮件
  • 添加表格标签并设置mail.IsBodyHtml = true;
  • 提问前请使用谷歌搜索或stackoverflow搜索-那里有很多信息stackoverflow.com/questions/1329922/…
  • thexfiles 是什么类型?你试过thexfiles[i].ToString()吗?

标签: c# html html-table html-email


【解决方案1】:

如果您使用该类:System.Net.Mail.MailMessage,请确保在将内容分配给 Body 属性后,您还将属性 IsBodyHtml 设置为 true

应该可以的。

【讨论】:

    【解决方案2】:

    您只需这样做:

    for (int i = 0; i < thexfiles.Length; i++)
    {
        tosend = tosend + "<tr><td>"+thexfiles[i]+"</td><td>"+thexdates[i]+"</td></tr>";
    }
    
    tosend = "<html><table>" + tosend + "</table></html>";
    
    mail.IsBodyHtml = true;
    mail.Body = tosend;
    

    就是这样,邮件正文将显示在 HTML 表格中。

    【讨论】:

    • + 只是用于字符串连接..你怎么能说它慢..它比StringBuilder.Append
    【解决方案3】:

    试试这个

        StringBuilder sb = new StringBuilder();
        sb.Append("<table>");
        sb.Append("<tr><td>Column 1</td><td>Column 2</td></tr>");
    
        for (int i = 0; i < thexfiles.Length; i++)
            sb.AppendFormat("<tr><td>{0}</td><td>{1}</td></tr>", thexfiles[i], thexdates[i]);
    
        sb.Append("</table>");
    
        mail.IsBodyHtml = true;
        mail.Body = sb.ToString();
    

    【讨论】:

    • 你忘记了&lt;tbody&gt; 标签:)
    • 是一个可选标签,现在我们会使用
      来创建布局
    • 如何在循环外添加另一行以显示列名??
    • 您应该使用&lt;th&gt; 而不是&lt;td&gt; 作为列名。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签