上一节介绍了 Asp.net mvc 中除 ViewResult 外的所有的 ActionResult,这一节介绍 ViewResult。
ViewResultBaseViewResultBase 是 Asp.net mvc 中所有的 ViewResult 和 ParticalViewResult 的基类,该类继承自 ActionResult。该类的定义如下示:
//---------------------------------属性部分------------------------------------- //当前 View 所会用的强类型 model public object Model{get{..}} //Controller 向 View传值使用的 TempData 集合 public TempDataDictionary TempData{get{..} set{..}} // 当前ViewResult 所对应的View public IView View { get; set; } //Controller 向 View传值使用的 ViewBag 集合 public dynamic ViewBag { get { if (_dynamicViewData == null) { _dynamicViewData = new DynamicViewDataDictionary(()=>ViewData); } return _dynamicViewData; } } //Controller 向 View传值使用的 ViewData 集合 public ViewDataDictionary ViewData{get{..}set{..}} //用于解析视图的视图引擎的集合 public ViewEngineCollection ViewEngineCollection{get{..}set{..}} //当前ViewResult 对应的 View的名称 public string ViewName{get{..}set{..}} //---------------------------------方法部分----------------------------------- //根据 ControllerContext 查找对应的 IView protected abstract ViewEngineResult FindView(ControllerContext context); public override void ExecuteResult(ControllerContext context);