查看源代码,我看到ViewContext在ViewResultBase.ExecuteResult()方法中实例化,并传递给一个编写器。
ViewContext viewContext = new ViewContext(context, this.View, this.ViewData, this.TempData, output);
但是当渲染视图时,编写器被传递给View.Render()方法,并且我认为这是故意的,因此除了WebForms视图引擎之外的视图引擎可以渲染到该编写器中。
this.View.Render(viewContext, output);
那么作者是ViewContext的一部分的目的是什么?
答案 0 :(得分:2)
因此,您可以获取视图的输出并使用它执行任何操作。一个很好的例子是使用viewengine呈现HTML模板化电子邮件。