Asp.net MVC – Controller

weixin_33766168發表於2017-10-12

1. 在Controller中獲取當前Route資訊

比如獲取當前的controller資訊,

RouteData.Values["controller"]

key是Route匹配的那些引數

 

2. Action的返回值中的ActionResult種類

Controller中返回的Action Result種類

型別

解釋

返回方法

ContentResult 返回一個字串 Content
EmptyResult No Response  
FileContentResult 
FilePathResult 
FileStreamResult
返回一個檔案 File
HttpUnauthorizedResult 返回403  
HttpNotFoundResult 返回404  
JavaScriptResult 返回一段js JavaScript
JosnResult JSON格式資料 Json
RedirectResult 跳轉到期它URL Redirect
RedirectToRouteResult 轉到其它Action,或者其它Controller的Action RedirectToRoute 
RedirectToAction
ViewResult 
PartialViewResult
返回由View engine處理 View 
PartialView

 

 

 

 

 

 

 

 

 

 

 

 

 

還可以直接把Action方法的返回值改成string, 返回一個字串。

 

 

3. 如何傳值到View?

使用ViewBag、ViewData

ViewBag是dynamic型別,你可以隨意的擴充套件和儲存你需要的資料

使用Model

return View(model) 就可以將model作為強型別View的顯示主體。

 

4. 使用Filter來控制Action的訪問

asp.net MVC有很多的Filter來影響Action的訪問, 這些Filter也是Attribute,可以直接寫在Action或者Controller的頭上。

 

系統Filter

名稱

描述

OutputCache 快取
ValidateInput 關閉驗證
Authorize 驗證訪問的許可權
ValidateAntiForgeryToken 防止跨站攻擊
HandleError 處理程式異常

 

 

 

 

 

Filter使用地方

* 可以直接寫在Action或者Controller的頭上。

* 在全域性註冊

在Application_Start()中,註冊Filter, 這樣每個request都會受到這些Fiterl的影響。

FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

 

編寫自定義的Filter

編寫類繼承ActionFilterAttribute, 覆蓋比如OnActionExecuting這些方法。

 

Filter可以用來做日誌記錄,許可權驗證等都非常方便。



本文轉自JustRun部落格園部落格,原文連結:http://www.cnblogs.com/JustRun1983/archive/2012/09/06/2673624.html,如需轉載請自行聯絡原作者

相關文章