首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server填充System.Net.Mail主体

Server填充System.Net.Mail主体
EN

Stack Overflow用户
提问于 2015-06-25 06:28:07
回答 3查看 36关注 0票数 0

我正在尝试使用System.Net.Mail.MailMessage()填充电子邮件正文,并使用一个填充的datatable。这是可能的还是错误的方法?

代码语言:javascript
复制
    SqlDataAdapter da = new SqlDataAdapter(com);
    DataTable dt = new DataTable();  
    da.Fill(dt);
    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
    mail.Body =  ?  ;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-25 06:38:09

您可以从所有data中获取rows,并将其存储在string中,而不是像这样将此字符串分配给mail.Body

代码语言:javascript
复制
StringBuilder sb=new StringBuilder();

foreach (DataRow dr in dt.Rows)
{
    sb.Append(dr["columnName"].ToString() + "<br />");
}
mail.Body = sb.ToString();
票数 1
EN

Stack Overflow用户

发布于 2015-06-25 06:36:37

当然有可能..。

代码语言:javascript
复制
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();  
da.Fill(dt);
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.Body =  dt.Table[your_table].Rows[your_row][your_coulmn].ToString()  ;
票数 0
EN

Stack Overflow用户

发布于 2015-06-25 07:20:27

在5年前的一个项目中,我使用这种方式生成HtmlTable,并从HtmlTable中获得一个字符串;

代码语言:javascript
复制
public static HtmlTable GenerateHtmlTableForMail(DataTable dt)
{
        HtmlTable retval = new HtmlTable();
        HtmlTableRow tr = new HtmlTableRow();
        HtmlTableCell td = new HtmlTableCell();

        foreach (DataColumn col in dt.Columns)
        {
            td = new HtmlTableCell();
            td.InnerText = col.ColumnName;
            tr.Cells.Add(td);
        }
        retval.Rows.Add(tr);
        foreach (DataRow row in dt.Rows)
        {
            tr = new HtmlTableRow();
            foreach (DataColumn col in dt.Columns)
            {
                td = new HtmlTableCell();
                td.InnerText = row[col].ToString();
            }
            retval.Rows.Add(tr);
        }
        return retval;
}

代码语言:javascript
复制
public static string GetHtmlTableString(HtmlTable table)
{
    string retval = "";
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    table.RenderControl(htw);
    return sw.ToString();
}

在这种情况下,您可以为mail.Body属性分配GetHtmlTableString返回的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31042782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档