Agenda
前言
上篇得知MVC預設透過DefaultControllerFactory
反射方式動態建立Controller
物件
本篇會分享我們常用到Controller
基礎類別和相關物件.
我有做一個可以針對於Asp.net MVC Debugger的專案,只要下中斷點就可輕易進入Asp.net MVC原始碼.
ControllerBase(Controller基礎類別)
ControllerBase
具有如下幾個重要的屬性
TempData
:將設置資料存於Session
中,生命週期除了當下請求, 導頁後仍可續存.ViewBag
:儲存Controller
向view
傳遞資料或變數 (型別dynamic
)ViewData
:儲存Controller
向view
傳遞資料或變數 (型別ViewDataDictionary
)
雖說ViewBag
和ViewData
看起來使用不同的物件,但從程式碼了解到其實ViewBag
也是使用ViewData
引用.