Asp.net MVC – Controller
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,如需轉載請自行聯絡原作者
相關文章
- asp.net mvc get controller name and action nameASP.NETMVCController
- Asp.Net MVC系列--進階篇之controller(1)ASP.NETMVCController
- [ASP.NET MVC 小牛之路]09 - Controller 和 Action (1)ASP.NETMVCController
- [ASP.NET MVC 小牛之路]10 - Controller 和 Action (2)ASP.NETMVCController
- ASP.NET Core MVC 中的 [Controller] 和 [NonController]ASP.NETMVCController
- Asp.Net MVC4 系列--進階篇之Controller(2)ASP.NETMVCController
- 重建程式設計師能力(3)-asp.net MVC框架增加Controller程式設計師ASP.NETMVC框架Controller
- ASP.NET MVC 設定 Route 使 URL 中不顯示 controllerASP.NETMVCController
- ASP.NET MVC Controller啟用系統詳解:預設實現ASP.NETMVCController
- asp.net mvc 之旅—— 第二站 窺探Controller下的各種ResultASP.NETMVCController
- .NET/ASP.NET MVC Controller 控制器(深入解析控制器執行原理)ASP.NETMVCController
- ASP.NET MVC 5 Web程式設計3 -- Controller的應用及擴充套件ASP.NETMVCWeb程式設計Controller套件
- Spring MVC Controller單例陷阱SpringMVCController單例
- MVC Controller Dependency Injection for Beginners【翻譯】MVCController
- .NET/ASP.NET MVC Controller 控制器(IController控制器的建立過程)ASP.NETMVCController
- ASP.NET MVC路由ASP.NETMVC路由
- ASP.NET MVC ModuleASP.NETMVC
- ASP.NET MVC TemplateASP.NETMVC
- ASP.NET MVC ErrorASP.NETMVCError
- ASP.NET MVC FilterASP.NETMVCFilter
- UpdatePanel for ASP.NET MVCASP.NETMVC
- spring MVC -- controller引數的解析SpringMVCController
- ASP.NET MVC與ASP.NET WebFormASP.NETMVCWebORM
- [ASP.NET MVC 小牛之路]01 - 理解MVC模式ASP.NETMVC模式
- Asp.Net MVC HttpPost用法ASP.NETMVCHTTP
- ASP.NET MVC 反射例子ASP.NETMVC反射
- Asp.Net MVC 快取ASP.NETMVC快取
- Asp.Net MVC 使用 AjaxASP.NETMVC
- ASP.NET MVC ValidationASP.NETMVC
- ASP.NET MVC: Membership, OAuthASP.NETMVCOAuth
- ASP.NET MVC系列:AreaASP.NETMVC
- ASP.NET MVC系列:ModelASP.NETMVC
- AJAX Panels with ASP.NET MVCASP.NETMVC
- ASP.NET MVC 之 AJAXASP.NETMVC
- ASP.NET MVC和AJAXASP.NETMVC
- ASP.NET MVC 介紹ASP.NETMVC
- MVC中獲取當前URL、controller、actionMVCController
- Spring MVC 的Controller 結構問題SpringMVCController