Asp.net mvc 如何以及何时在MVC页面生命周期中调用ViewEngine的RenderView方法?
我已经阅读了以下关于MVC页面生命周期的文章: 但在第五点的第一节中提到(引用): 控制器通常执行RedirectToAction方法或RenderView方法当您调用控制器的RenderView()方法时,调用被委托给当前ViewEngine的RenderView()方法 (请参阅上面粗体的文本。)查看控制器时,我发现那里没有RenderView方法 因此,我无法找到代码将调用委托给ViewEngines RenderView方法的丢失链接,因为Controller类中没有RenderView(方法、委托、虚拟方法、抽象方法)Asp.net mvc 如何以及何时在MVC页面生命周期中调用ViewEngine的RenderView方法?,asp.net-mvc,controller,page-lifecycle,Asp.net Mvc,Controller,Page Lifecycle,我已经阅读了以下关于MVC页面生命周期的文章: 但在第五点的第一节中提到(引用): 控制器通常执行RedirectToAction方法或RenderView方法当您调用控制器的RenderView()方法时,调用被委托给当前ViewEngine的RenderView()方法 (请参阅上面粗体的文本。)查看控制器时,我发现那里没有RenderView方法 因此,我无法找到代码将调用委托给ViewEngines RenderView方法的丢失链接,因为Controller类中没有RenderVie
如能作出解释,将不胜感激。提前感谢。控制器不负责调用
RenderView
方法。它是执行控制器操作并对从控制器操作返回的ActionResult
调用方法的。所有这些都发生在控制器的ExecuteCore
方法中
然后根据实际的ActionResult类,会发生不同的事情。如果返回了ViewResult
或PartialViewResult
,则ExecuteResult
方法将实际执行委托给视图引擎。最后,视图引擎将调用RenderView
方法
从控制器内部,您不能也不应该渲染视图。这不是MVC中控制器的责任。Darin已经发布了关于管道这一部分的正确解释,但是,为了明确起见,这篇文章是错误的。谢谢Ant p。你能给我推荐一篇文章,让我获得正确的信息吗?谢谢Darin的解释。您还可以为我提供一个链接,在这里我可以获得有关MVC页面生命周期的完整信息,您认为这也是正确的。当然,这里是: