actionresult
是控制器方法執行後返回的結果型別,控制器方法可以返回乙個直接或間接從actionresult
抽象類繼承的型別,如果返回的是非actionresult
型別,控制器將會將結果轉換為乙個contentresult
型別。預設的controlleractioninvoker
呼叫actionresult.executeresult
方法生成應答結果。
mvc中實現的預設actionresult
如下:
1、contentresult:返回簡單的純文字內容,可通過contenttype屬性指定應答文件型別,通過contentencoding屬性指定應答文件的字元編碼。可通過controller類中的content方法便捷地返回contentresult物件。如果控制器方法返回非actionresult物件,mvc將簡單地以返回物件的tostring()內容為基礎產生乙個contentresult物件。通過直接或間接地從2、emptyresult: 返回乙個空的結果。如果控制器方法返回乙個null,mvc將其轉換成emptyresult物件。
3、redirectresult:表示乙個連線跳轉,相當於asp.net中的response.redirect方法。對應的controller方法為redirect。
4、redirecttorouteresult:同樣表示乙個調轉,mvc會根據我們指定的路由名稱或路由資訊(routevaluedictionary)來生成url位址,然後呼叫response.redirect跳轉。對應的controller方法為redirecttoaction和redirecttoroute。
5、viewresult: 表示乙個檢視結果,它根據檢視模板產生應答內容。對應controller方法為view。
6、partialviewresult:表示乙個部分檢視結果,與viewresult本質上一致,只是部分檢視不支援母版,對應於asp.net,viewresult相當於乙個page,而partialviewresult則相當於乙個usercontrol。它對應的controller方法為partialview。
7、httpunauthorizedresult:表示乙個未經授權訪問的錯誤。mvc會向客戶端傳送乙個401的應答狀態。如果在web.config中開啟了表單驗證(authentication mode=」forms」),則401狀態會將url轉向指定的loginurl鏈結。
10、filepathresult、filecontentresult、filestreamresult:
這三個類繼承於fileresult,表示乙個檔案內容,三者的區別在於,filepath通過路徑傳送檔案到客戶端,filecontent通過二進位制資料的方式,而filestream是通過stream的方式來傳送。controller為這三個檔案結果型別提供了乙個名為file的過載方法。
actionresult
繼承,可實現自定義的結果型別,下例將實現乙個xmlresult
型別,用於返回xml
應答內容:
1、建立乙個空的mvc專案2、實現
xmlresult
類xmlresult
3、建立乙個public
class xmlresult : actionresult
public object data
public
override
void
executeresult(controllercontext context)
using (memorystream ms = new memorystream())}}
}
homecontroller
,實現index
方法public actionresult index()
);}
mvc中Action前HttpPost的作用
一 action前httppost例項 指令碼呼叫 function post test function data 或者 ajax 二 action前httppost 的作用 限制action只接受httppost的請求,對於httpget的請求則提示404找不到頁面。如果action前即沒有 h...
MVC中的擴充套件點 一 路由上的擴充套件
原文出處 一 routebase 前面我們知道,urlroutingmodule通過遍歷routetable.routes中的路由物件來獲取匹配的routedata,從而將請求 到相應的ihttphandler處理程式。routetable.routes是乙個routebase物件集合,可向集合中新...
Action類的擴充套件
1 modeldriven介面 將請求引數看做模型即物件,並返回給action類 2 action介面 提供execute 方法,以及常量如 success,error 3 actionsupport類 它是乙個工具類,它已經實現了action介面和validateable介面,提供可資料校驗功能。...