MVC控制器
控制器
控制器:是一個類,但必須以Controller 結尾【MVC的約定】
????? 繼承自Controller,
?????????? 作用:決定如何調度資源【用什么數據,來顯示 哪個視圖】
動作? Action【 是控制器中的一個方法,必須是公共的】
?
控制器運行的過程
HTTP請求===> 指定的Controller ,ActionInvokerè 調用 那一個Action【方法】,
調用 Model Bindding ==>把 Action中的參數 ,作為依據,決定顯示哪個View,以及如何渲染 視圖
Action 的返回值? ActionResult
| 返回類型 | 方法 | 作用 |
| ViewResult | View() | 加載對應名稱的視圖 |
| JsonResult | Json() | 把數據轉換成json |
| ContentResult | Content | 返回文本字符串 |
| HttpNotFoundResult | HttpNotFound() | 返回未找到 404 的狀態 |
| JavaScriptResult | JavaScript() | 返回javascript 代碼 |
| PartialViewResult | PartialView() | 返回部分視圖 |
| RedirectResult | Redirect() | 跳轉頁面(符合路由規則) |
| RedirectToRouteResult | RedirectToAction() | 跳轉到指定的 Action 上 |
| FileResult | File() | 返回文件 |
?
?
Controller 給視圖傳遞數據
ViewBag
動態類型。添加任何屬性
ViewBag 的使用
設置值:? ViewBag.Key=值;
取值:obj = ViewBag.Key
?
ViewData
?:是ControllerBase 中的屬性,類型ViewDataDictionary? 繼承了IDictionary<string, object> 接口,使用時 可以 用 Key/Value
如何操作ViewData
設置值:ViewData[“Key”]=值;
獲取值:object obj =ViewData[“Key”]
?
double pi = 3.14;
?
??????????? ViewData.Model = pi;
??????????? return View();
??????????? //等價于
??????????? //return View(pi);
TempData
TempData 數據能訪問一次,
?
轉載于:https://www.cnblogs.com/Learnblog/p/9973009.html
總結
- 上一篇: BZOJ4771 七彩树(dfs序+树上
- 下一篇: day13-(事务mvc反射补充)