如何在.Net MVC中从View获取HTML内容而不通过浏览器实际渲染视图?
- 内容介绍
- 文章标签
- 相关推荐
本文共计231个文字,预计阅读时间需要1分钟。
在控制器中,我有一个ActionResult,我想发送一封+HTML电子邮件,该电子邮件的内容由视图生成。我可以在传递模型时获取视图生成的结果,并避免将其发送到浏览器,而不是在我的控制器中使用两个ac。
为了呈现字符串而不是响应的视图,请使用此代码(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(); }
本文共计231个文字,预计阅读时间需要1分钟。
在控制器中,我有一个ActionResult,我想发送一封+HTML电子邮件,该电子邮件的内容由视图生成。我可以在传递模型时获取视图生成的结果,并避免将其发送到浏览器,而不是在我的控制器中使用两个ac。
为了呈现字符串而不是响应的视图,请使用此代码(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(); }

