ActionResult是控制器方法執(zhí)行后返回的結(jié)果類型,控制器方法可以返回一個(gè)直接或間接從ActionResult抽象類繼承的類型,如果返回的是非ActionResult類型,控制器將會(huì)將結(jié)果轉(zhuǎn)換為一個(gè)ContentResult類型。
創(chuàng)新互聯(lián)為企業(yè)級(jí)客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括成都網(wǎng)站制作、網(wǎng)站建設(shè)、成都APP應(yīng)用開發(fā)、微信小程序、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營(yíng)銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來(lái)大量新的創(chuàng)意。
ActionResult派生類關(guān)系圖
二、常見的幾種ActionResult
1、ContentResult
返回簡(jiǎn)單的純文本內(nèi)容,可通過(guò)ContentType屬性指定應(yīng)答文檔類型,通過(guò)ContentEncoding屬性指定應(yīng)答文檔的字符編碼。可通過(guò)Controller類中的Content方法便捷地返回ContentResult對(duì)象。如果控制器方法返回非ActionResult對(duì)象,MVC將簡(jiǎn)單地以返回對(duì)象的ToString()內(nèi)容為基礎(chǔ)產(chǎn)生一個(gè)ContentResult對(duì)象。
2、EmptyResult
返回一個(gè)空的結(jié)果。如果控制器方法返回一個(gè)null,MVC將其轉(zhuǎn)換成EmptyResult對(duì)象。
3、RedirectResult
表示一個(gè)連接跳轉(zhuǎn),相當(dāng)于ASP.NET中的Response.Redirect方法。對(duì)應(yīng)的Controller方法為Redirect。
5、ViewResult:
表示一個(gè)視圖結(jié)果,它根據(jù)視圖模板產(chǎn)生應(yīng)答內(nèi)容。對(duì)應(yīng)Controller方法為View。
8、JavaScriptResult:
本質(zhì)上是一個(gè)文本內(nèi)容,只是將Response.ContentType設(shè)置為 application/x-javascript,此結(jié)果應(yīng)該和MicrosoftMvcAjax.js腳本配合使用,客戶端接收到Ajax應(yīng)答后,將判斷Response.ContentType的值,如果是application/x-javascript,則直接eval執(zhí)行返回的應(yīng)答內(nèi)容。此結(jié)果類型對(duì)應(yīng)的Controller方法為JavaScript。
9、JsonResult:
表示一個(gè)JSON結(jié)果。MVC將Response.ContentType設(shè)置為application/json,并通過(guò)JavaScriptSerializer類將指定對(duì)象序列化為Json表示方式。需要注意,默認(rèn)情況下,MVC不允許GET請(qǐng)求返回JSON結(jié)果,要解除此限制,在生成JsonResult對(duì)象時(shí),將其JsonRequestBehavior屬性設(shè)置為JsonRequestBehavior.AllowGet。此結(jié)果對(duì)應(yīng)的Controller方法為Json。
參考資料: MVC中的ActionResult http://www.studyofnet.com/news/518.html