程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 體驗AspNet MVC Preview5(1)-探索ViewEngine的原理並比較新老版

體驗AspNet MVC Preview5(1)-探索ViewEngine的原理並比較新老版

編輯:關於ASP.NET

Asp.Net Mvc終於等來了新版本,這次仍然是Preview版.該版本中加入了不少新特性.特別是在ViewEngine的管理上.得到了很大的改進,不僅讓用戶可以更方便的更換ViewEngine,而且還可以在一個系統中使用多個ViewEngine的可能得到了實現,本文將探索新版和老版中viewengine的工作方式並進行對比,然後演示如何添加一個或者多個ViewEngine並讓他們之間可以交互工作.

首先說明下P5對ViewEngine的改進,在老版本中,系統牽涉到ViewEngine管理的有兩個接口,分別是: IViewEngine, IViewLocator,其中IVewEngine負責呈現View,IViewLocator負責對View的路徑處理.同時,在Controller中對ViewEngine進行選擇,讓後在執行的時候將ViewEngine傳遞到ViewResult中,最後ViewResult使用ViewEngine來呈現ui.老版本的View部分大致類圖如下:

它的執行流程大致如下:MVC框架根據Routing數據找到對應的Controller,而Controller中將根據IViewLocate來初始化一個ViewEngine(IViewLocater一般用來做路徑選擇)然後執行Controller的Execute方法,該方法間接通過ControllerActionInvoker來執行Action,每個Action都會返回一個ActionResult對象,然後,它執行ActionResult的ExecuteResult方法.系統有很多種ActionResult,當該ActionResult為ViewResult的時候,Controller會將自身的ViewEngine傳遞你這個ViewResult,在ViewResult中再最終使用ViewEngine來呈現數據.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved