首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MVC页面生命周期中,如何以及何时调用ViewEngine的ViewEngine方法?

在MVC页面生命周期中,如何以及何时调用ViewEngine的ViewEngine方法?
EN

Stack Overflow用户
提问于 2014-03-30 09:05:22
回答 1查看 289关注 0票数 1

我读过以下关于MVC页面生命周期的文章:

http://blogs.msdn.com/b/varunm/archive/2013/10/03/understanding-of-mvc-page-life-cycle.aspx?CommentPosted=true#commentmessage

但在第五点的第一节中提到(引用):

控制器通常要么执行RedirectToAction方法,要么执行RenderView方法.,当调用控制器的RenderView()方法时,调用被委托给当前的ViewEngine的RenderView()方法。

(见上面粗体的文本。)在查看控制器班级时,我发现那里没有RenderView方法。

因此,我无法找到代码委托调用ViewEngines RenderView方法的缺失链接,因为Controller类中没有RenderView (方法、委托、虚拟方法、抽象方法)。

如能作出解释,将不胜感激。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-30 09:20:11

控制器不负责调用RenderView方法。是ControllerActionInvoker执行控制器操作,并从控制器操作调用返回的ActionResult上的ExecuteResult方法。所有这些都发生在ControllerController方法中。

然后,根据实际的ActionResult类,会发生不同的事情。如果返回一个ViewResultPartialViewResult,则ExecuteResult方法将将实际执行委托给视图引擎。最后,视图引擎将调用RenderView方法。

从控制器内部,您不能也不应该呈现视图。在MVC中,这不是控制器的责任。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22742177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档