当前位置 : 主页 > 网络编程 > ASP >

asp.net-mvc – 从.Net MVC View获取HTML而不实际在浏览器中呈现视图?

来源:互联网 收集:自由互联 发布时间:2021-06-24
我的控制器中有一个ActionResult,我想发送一封 HTML电子邮件,该电子邮件的正文由视图生成.我可以在传递模型时获取视图的结果并避免将其发送到浏览器,而不是在我的控制器中使用2个ac
我的控制器中有一个ActionResult,我想发送一封 HTML电子邮件,该电子邮件的正文由视图生成.我可以在传递模型时获取视图的结果并避免将其发送到浏览器,而不是在我的控制器中使用2个actionresults方法? MvcMailer是一个很棒的小项目,支持使用MVC视图生成电子邮件.它以NuGet包的形式提供.

为了呈现字符串而不是响应的视图,请使用此代码(relativePath指向您的视图文件):

var content = string.Empty;
        var view = ViewEngines.Engines.FindView(ControllerContext, relativePath, null);
        using (var writer = new StringWriter())
        {
            var context = new ViewContext(ControllerContext, view.View, ViewData, TempData, writer);
            view.View.Render(context, writer);
            writer.Flush();
            content = writer.ToString();
        }
网友评论