溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

MVC中的ActionResult的介紹

發(fā)布時(shí)間:2020-06-03 20:26:07 來(lái)源:網(wǎng)絡(luò) 閱讀:768 作者:studyofnet 欄目:web開(kāi)發(fā)

ActionResult是控制器方法執(zhí)行后返回的結(jié)果類(lèi)型,控制器方法可以返回一個(gè)直接或間接從ActionResult抽象類(lèi)繼承的類(lèi)型,如果返回的是非ActionResult類(lèi)型,控制器將會(huì)將結(jié)果轉(zhuǎn)換為一個(gè)ContentResult類(lèi)型。



ActionResult派生類(lèi)關(guān)系圖


MVC中的ActionResult的介紹




二、常見(jiàn)的幾種ActionResult

 


1、ContentResult


返回簡(jiǎn)單的純文本內(nèi)容,可通過(guò)ContentType屬性指定應(yīng)答文檔類(lèi)型,通過(guò)ContentEncoding屬性指定應(yīng)答文檔的字符編碼。可通過(guò)Controller類(lèi)中的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腳本配合使用,客戶(hù)端接收到Ajax應(yīng)答后,將判斷Response.ContentType的值,如果是application/x-javascript,則直接eval執(zhí)行返回的應(yīng)答內(nèi)容。此結(jié)果類(lèi)型對(duì)應(yīng)的Controller方法為JavaScript。



9、JsonResult:

表示一個(gè)JSON結(jié)果。MVC將Response.ContentType設(shè)置為application/json,并通過(guò)JavaScriptSerializer類(lèi)將指定對(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


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI