以外的视图在ASP.NET MVC 3,假设我们有以下控制措施:是否有任何其他基类,它看起来比System.Web.Mvc.ViewResultBase
public ActionResult Index() {
ViewBag.Message = "Foo Bar";
return View();
}
这里,Index
方法返回ViewResult
实例System.Web.Mvc.ViewResultBase
类。由于我们返回ViewResult
类的实例,因此系统会尝试查找适当的视图文件以生成输出。如果找不到它,它会抛出一个异常。
我的问题是这样的:
有它看起来比其他System.Web.Mvc.ViewResultBase
一个视图中的任何其他基类?
用简单的英语,我们是否必须从控制器操作返回一个实现System.Web.Mvc.ViewResultBase
类的类,以便使结果具有视图?
编辑
而且,你在这里看到我告诉我会返回一个类型的ActionResult
这是基础,基础类可以这么说。当您查看结尾时,我将返回ViewResult
的实例。
框架如何处理?它是否试图将每个控制器的动作结果投入到ViewResultBase
课程中?我特别好奇这部分。
感谢您的详细回复。你能看到我对这个问题的编辑吗?我对这部分也很好奇。 – tugberk 2011-12-17 21:30:52
不,它不会转换控制器的操作返回值,只是调用它的'ExecuteResult'方法。在ViewResultBase实现中呈现视图并将其写入响应。 – nemesv 2011-12-17 22:25:26
Oww,所以'ViewResultBase'类通常会根据自己的需要重写'ActionResult.ExecuteResult'方法,对吧? – tugberk 2011-12-18 00:14:22