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