<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Asp.Net MVC3 簡單入門第一季(二)詳解Asp.Net MVC3項目

      前言

      在上一篇文章Asp.Net MVC3 簡單入門第一季(一)環境準備中我簡單介紹了Asp.Net MVC3項目的安裝和第一個Asp.Net MVC3項目的基本情況。沒有詳細介紹項目中各個文件夾的作用,以及創建的第一個頁面是怎樣運行起來的?還有好多的疑問,那在這篇文章中我們將詳細介紹項目中各個文件夾的作用,并真的第一個項目我們簡要介紹一下Asp.Net MVCURL驅動的是怎么回事。 

      第一節:Asp.Net MVC3項目介紹

      讓我們先看一下,一個普通的Asp.Net MVC3項目的樣例,如下圖所示 

       

      跟WebFrom還是有區別的,如果你已經了解Asp.Net MVC2的話,那就感覺異常熟悉了!但還是有些區別的。不管怎樣我們都一一介紹一下。 

      很有意思的事情是即使我們創建一個空的MVC項目,VS也自動幫我們創建以上圖所示的目錄,這是為何呢?這是由于MVC秉承了“約定大于配置”的思想,我們在使用Asp.Net MVC3開發項目時也要注意,一定要按照它的約定辦事,比如:Controller在返回Action后需要一個View進行展示(當然是調用了View()方法時),這時候Asp.Net MVC回到Views文件夾下找到Controller名字相同的文件夾下面找到具體的頁面進行渲染,當然如果找不到會去Shared文件夾下去找。看下表所示的就是Asp.Net MVC3中各個文件夾的作用。 

      文件夾

      作用

      /Controllers

      存放控制器類【職責是:處理用戶的請求,指揮具體的頁面進行渲染交給客戶端】

      /Views

      存放各個控制器對應的視圖文件,如果是Razor引擎的話那后綴是cshtml.如果使用的WebFrom的視圖引擎的話,那還是Aspx后綴。

      /Content

      主要存放照片、CSS、Flash等文件

      /Scripts

      主要存放腳本文件【微軟默認給我們提供了JQuery1.5.1的包,看來JQuery已經成為默認的工業標準了!我們沒有退路了,呵呵,當然我個人也非常喜歡JQuery】

      /Models

      主要存放ViewModel類【當然這個不是嚴格這樣要求的,而是推薦你這么做。】

      其他的幾個比較有意思的文件:

      一個是Web.Config,另外一個是Global.asax雖然我們大家都非常熟悉,但是跟之前我們WebFrom還是有很多的區別的。WebConfig文件中,配置了啟用客戶端腳本驗證、配置了System.Web.Routing、System.Web.Mvc等組件。而Global.asax則在應用啟動的時候注冊了全局的Area【區域,后面會相信講解】、全局Filter、路由等。

      第二節:Asp.Net MVC的請求處理模型

      在上一篇中我們也簡單做了個小例子,直接添加一個Controller,然后在Action上添加一個View,直接運行,然后就在我們面前呈現了一個普通的Html頁面。那我們詳細解釋一下這種開發方式或者說開發模型。在講解之前我們先認識幾個概念:

      Controller:控制器。在Contrller文件夾添加的以Controller結尾的類就是控制器,它的每個方法就是一個Action。它的職責是從Model中獲取數據,并將數據交給View,它是個指揮家的角色,它并不控制View的顯示邏輯,只是將Model的數據交給View,而具體的怎樣展示數據那是View的職責,所以Controller跟View是一個弱耦合的狀態,而且Controller可以任意指定具體的View進行渲染。所以達到了UI層的代碼和實體良好的分離。

      View:視圖.負責數據的展示,當然這個視圖代碼的編寫應該是更接近純凈的Html的,而View層代碼的書寫又直接跟視圖引擎解析的規則有關,所以Razor的語法跟webFrom視圖引擎的語法截然不同。而筆者更傾向更喜歡Razor語法的簡潔、方便。

      Model:很多人把Model理解成領域模型,而MVC本身是一個表現模式,它是更傾向于UI層的一個框架,所以一般我們指定的Model呢在使用時一般作為ViewModel來用,但是總的MVC的思想呢,Model還是領域相關的東西吧。

      經過MVC3個模塊的了解分析,我們大體也知道了Asp.Net MVC的一些基本的概念。接下來我們分析一個完整的Http的處理過程。看下面一個圖:

       Asp.Net MVC請求處理響應原理圖

      客戶端發送一個Http請求,首先被我們的IIS捕獲到,然后根據Url請求的格式,最終交給我們的Route組件,然后它負責解析出我們的Url具體請求的是哪個Controller下的哪個Action。然后MVC經過處理調用我們的Action執行。在Action中我們一般會從業務的Fa?ade層取出數據,然后將傳輸層的數據轉換成ViewModel再交給View的視圖引擎渲染,最終生成Html的字節流寫回客戶端。

      回到我們第一個項目中的情況是,請求:Http://localhost/Home/Index請求過來,由Route組件解析出Controller是Home,Action是Index,則通過工廠創建一個Controller的實例,然后調用InvokeAction方法,執行Index的方法,最終執行View()方法返回一個ViewResult實例,再調用自己的EexcuteResult方法,將數據上下文和輸出流交給視圖引擎,然后最終渲染成Html頁面交給客戶端,最終就看到了我們的第一個頁面。

      總結一下:

      Asp.Net MVC所有的請求都歸結到Action上,而且Asp.Net MVC請求--處理--響應的模型非常清晰,而且沒有WebFrom那種復雜的生命周期,整個請求處理非常明晰簡單,又回歸到了最原始的Web開發方式,就是簡單的請求處理響應!

      記于:2011年6月12日23:45:26

       

      初識Asp.Net MVC2.0

      初識Asp.Net MVC2.0【續】

      Asp.Net MVC2.0 Url 路由入門---實例篇

      Asp.Net MVC2.0 Url 路由入門

      Asp.Net MVC3 簡單入門第一季(一)環境準備

      Asp.Net MVC3 簡單入門第一季(二)詳解Asp.Net MVC3項目

      Asp.Net MVC3 簡單入門第一季(三)詳解Controller之Filter

      Asp.Net MVC3 簡單入門第一季(四)詳解Request Processing Pipeline

      posted @ 2011-06-12 23:56  FlyDragon  閱讀(19139)  評論(22)    收藏  舉報
      主站蜘蛛池模板: 无码日韩精品一区二区三区免费| 免费看一区无码无a片www| 激情自拍校园春色中文| 亚洲午夜伦费影视在线观看| 夜色福利站WWW国产在线视频| 久久精品国产亚洲av麻豆不卡| 国产一级小视频| 99er热精品视频| 一本无码在线观看| 久视频久免费视频久免费| 无码人妻一区二区三区av| 天天躁夜夜躁狠狠喷水| 国产系列高清精品第一页| 亚洲伊人久久精品影院| 成人精品自拍视频免费看| 亚洲成人av综合一区| 免费大片av手机看片高清| 一区二区三区四区黄色片| 欧美成人精品手机在线| 特黄 做受又硬又粗又大视频| 日韩一区二区三区水蜜桃| 国产欲女高潮正在播放| 亚洲一区久久蜜臀av| 国产日韩综合av在线| 国产美女MM131爽爽爽| h无码精品3d动漫在线观看| 国产视频一区二区三区四区视频| 东方av四虎在线观看| 欧美人与禽2o2o性论交| 国产精品亚洲av三区色| 四虎影视一区二区精品| 国产乱子伦视频在线播放 | 亚洲第一狼人成人综合网| 欧洲美熟女乱又伦免费视频| 国产精品永久久久久久久久久| 四虎国产精品永久在线| 欧美一区二区三区久久综合 | 亚洲国产中文字幕精品| 加勒比中文字幕无码一区| 国产99re热这里只有精品| 久久久久久久久久久久中文字幕 |