MVC中幾種常用ActionResult


一、概述

ActionResult是控制器方法執行后返回的結果類型。ActionResult 有多個派生類,每個子類功能均不同,並不是所有的子類都需要返回視圖View,有些直接返回流,有些返回字符串等。ActionResult是一個抽象類,它定義了唯一的ExecuteResult方法,參數為一個ControllerContext,下面是MVC中的ActionResult派生類的關系圖

 

wKiom1PPRheRA3ntAACEt_HFr9o676.gif

  

二、常見的幾種ActionResult 

1、ContentResult 

返回簡單的純文本內容,可通過ContentType屬性指定應答文檔類型,通過ContentEncoding屬性指定應答文檔的字符編碼。可通過Controller類中的Content方法便捷地返回ContentResult對象。

2、EmptyResult

返回一個空的結果。如果控制器方法返回一個null,MVC將其轉換成EmptyResult對象。 

3、RedirectResult

表示一個連接跳轉,相當於ASP.NET中的Response.Redirect方法。對應的Controller方法為Redirect。

4、ViewResult

表示一個視圖結果,它根據視圖模板產生應答內容。對應Controller方法為View。 

5、JavaScriptResult

本質上是一個文本內容,只是將Response.ContentType設置為 application/x-javascript,此結果應該和MicrosoftMvcAjax.js腳本配合使用,客戶端接收到Ajax應答后,將判斷Response.ContentType的值,如果是application/x-javascript,則直接eval執行返回的應答內容。此結果類型對應的Controller方法為JavaScript。 

6、JsonResult

表示一個JSON結果。MVC將Response.ContentType設置為application/json,並通過JavaScriptSerializer類將指定對象序列化為Json表示方式。需要注意,默認情況下,MVC不允許GET請求返回JSON結果,要解除此限制,在生成JsonResult對象時,將其JsonRequestBehavior屬性設置為JsonRequestBehavior.AllowGet。此結果對應的Controller方法為Json。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM