ASP.NET MVC:如何使用控制器发送HTML电子邮件?

使用asp.net发送自定义html电子邮件的最简单方法是什么?

我想理想情况下我想通过电子邮件发送html而不是像往常一样通过ActionResult将其返回到浏览器.通过这种方式,我可以将电子邮件构建为视图,通过模型为其提供数据,然后使用标准.NET电子邮件内容将其激活.

这可行/这样做的方法

谢谢,

解决方法

这个 blog post一个很好的解决方案,可以将View渲染为字符串,以便您可以通过电子邮件发送它.
/// Static Method to render string - put somewhere of your choosing
public static string RenderPartialToString(string controlName,object viewData)
{
     ViewDataDictionary vd = new ViewDataDictionary(viewData);
     ViewPage vp = new ViewPage { ViewData = vd };
     Control control = vp.LoadControl(controlName);

     vp.Controls.Add(control);

     StringBuilder sb = new StringBuilder();
     using (StringWriter sw = new StringWriter(sb))
     {
         using (HtmlTextWriter tw = new HtmlTextWriter(sw))
         {
             vp.RenderControl(tw);
         }
     }

     return sb.ToString();
}

相关文章

ASP.NET与IIS是紧密联系的,由于IIS6.0与IIS7.0的工作方式的...
在之前的ASP.NET是如何在IIS下工作的这篇文章中介绍了ASP.NE...
这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...