以外的視圖在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