日期:2014-05-17  浏览次数:20425 次

后台拼接html代码
原来很反感这种写法。。现在要在后台拼一个table出来给客户发邮件。。。但是不会呀。。。请教,这个品html代码,有什么规则吗?直接
<table><tr><td>Company Name</td><td>" + companynane + "</td><td>Contact Name</td><td>" + contactname + "</td></tr> </table>
这样写,就直接这样发到客户那里啊。。是不是要什么转义什么的?

------解决方案--------------------
用不着拼什么字符串,你可以直接导出。在aspx中,你可以写

    bool 需要导出控件的html源码 = true;    

    public override void VerifyRenderingInServerForm(Control control)
    {
        if (!需要导出控件的html源码)
            base.VerifyRenderingInServerForm(control);
    }

    public string 从Web控件产生邮件内容(WebControl ctrl)
    {
        var sw = new StringWriter();
        ctrl.RenderControl(new HtmlTextWriter(sw));
        return sw.ToString();

------解决方案--------------------
你可以在你的aspx中把自己页面中任何一个控件(例如一个Panel或者PlaceHolder)连同这个控件里边的所有内容都导出为html字符串,然后赋值到你的邮件body属性上。