ASP.NET MVC 3 初探


什么是ASP.NET MVC

1. asp.net mvc 是微軟官方提供的mvc模式編寫asp.net web應用程序的框架。

2. 是微軟既asp.net webForm 后的又一種開放方式,而非替代方式。假如有一個需求只在內網中使用,那么毫無疑問用web form 很快就好開放 出一個非常好的系統,而且不用考慮運行效率的問題。

 

      在MVC模式中,模型(Modul)表示軟件處理的數據描述,視圖(View)表示軟件的交互界面,控制器(Controller)用來控制軟件的處理邏輯。MVC將軟件的這三個方面明顯的進行了划分,以便於復雜軟件的組織。而經典的webForm就相當於將控制器和模型合並在一起(在經典的webForm模式中,頁面的顯示效果通過.aspx模板進行描述,請求的處理邏輯和頁面顯示所需要的數據在后台代碼(.aspx.cs)文件中處理)。

下面就具體說一下這三個模塊具體是干嘛的:

1. Modul(模型)是負責保持狀態的角色。這個狀態在數據庫中通常是持久的(所以有時也叫持久層),例如student類用來代表關系數據庫中的學生數據。

2. View(視圖)是負責顯示用戶界面的組件。這個界面通常是使用模型數據來創建的,例如,學生的編輯視圖,根據當前student對象的狀態,顯示一個用戶的編輯界面。

3. Controller(控制器)是處理用戶交互、操作模型和最終選擇用哪個視圖來顯示處理結果的組件。

三個組件之間通過契約進行協作,這使得針對界面層的測試可以方便地進行。

ASP.NET MVC的特點

1.分離任務(前面已經提到過)

2. 可擴展

     因為mvc把整個軟件分成了三個模塊,而並非傳統webForm中的三層(傳統的webForm三層只是模擬的分成了三層,比如模擬poskback機制,而並不能把.aspx和.aspx.cs兩個文件分開)。

3. 強大的URL重寫(路由機制)

    例如下面兩個URL地址:
    3.1 http://www.cnblogs.com/wlitsoft/blogs.aspx?Id=123  (傳統的url地址服務器硬盤中肯定存在一個wlitsoft文件夾並且在這個文件夾中肯定存在一個叫blogs.aspx的文件)。

    3.2 http://www.cnblogs.com/wlitsoft/blogs/123(這是mvc模式普遍的url地址,此url地址的含義以后的博文將會講到)

         了解過seo的都知道,上面兩個url地址哪個更容易被搜索引擎爬蟲發現。傳統的webForm要重寫url的話必須需要組件的支持(URLRewrite)。而mvc對於url的重寫是先天性的並且比使用組件靈活的多。

4. 兼容ASP.NET現有的技術(比如master(模板頁)......)

5. 開源--這個微軟在開源領域最好的項目了,微軟開源的項目比如還有個比較出名的CMS項目叫DNN現在出到6.1.x版本了並且6.0以后的版本支持C#,感興趣的可以學一下。

下面看下ASP.NET MVC3有什么新技術吧!

1. 增加Razor視圖引擎;支持多視圖引擎。mvc1 2 版本中在view層中充斥着大量的<%...%>和jsp、asp非常類似。閱讀性非常差。
    1.1 使用@替代<%%>
         -語法簡單清晰、容易學習、VS 2010 提供了智能提示和語法着色......

      1.2 全局的Action過濾器
         

   1.3 新的ViewBag 屬性

   1.4 新的ActionResult
        - HttpNotFoundResult -> 404
        - RedirectResult         - > 302\301
        - HttpStatusCodeResult-> 自定義http狀態碼

    1.5 Modul Validation
          自驗證、客戶端驗證(默認啟用客戶端驗證)、遠程驗證
     JSON綁定支持、HTML5 CSS3 、 部分頁面的輸出緩存、HtmlHelper的增強 、 NuGet .......
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM