MVC系列之一 入門概述


一 概述

  MVC作為一種當前比較好的開發web的框架,不得不提一下了,和WebForm比較來看,有了很大的進步和改進。

  先進行一個簡單的比較,兩個都是Web開發框架,理念仍然是較快速開發。

  不過MVC已經幾乎摒棄了臃腫的服務端控件,采用更為簡潔和可定義的標簽形式。前台View視圖和后台Controller控制器弱耦合分離的形式,比Asp.Net前台后台采用繼承的緊耦合形式更加靈活和合理。

 

二 基本三元素介紹

  MVC不得不說的三個主要元素,就是Model,View,Controller這三個元素。下面簡單地一一介紹下:

  Model:這是主要負責數據庫和Controller控制器交互

  View視圖:這是主要負責展示Controller傳輸給他的數據

  Controller控制器:主要接受Model傳過來的數據,然后傳給View

畫個圖吧,好看些

BLL,DAL,Models是簡單三層的概念,寫出來防止大家把Model和Models弄混了,這里的Model可是包括了這三個的

 

三 創建一個簡單的項目Demo

  在這里,我還是比較喜歡使用項目來學習,理論講一部分就好了,更多的理解,就通過項目來學習吧

  環境:

    VS2010時需要去下載獨立的MVC安裝包的,不是很復雜,百度可以告訴你一切

    VS2012時就不需要下任何安裝包了,直接就可以新建MVC項目了

  

  然后選擇MVC 4,創建一個空白的MVC項目就可以了,凡事從簡單入手嘛!

      看到這個目錄,里面很簡單,除了之前講的三個基本元素,View,Controller,Model ,剩下的App_Data放私有權限的東西,比如數據;App_Start存放的一些重要的初始化類,后面再詳細講;Global.asax是應用程序文件,主要負責管道事件,后面詳細講;剩下的幾個config就是簡單的配置文件;

 

四 Controller控制器

  在Controllers右鍵添加控制器,默認使用HomeController,注意:后綴一定要是Controller,在MVC有時候約定大於配置,某些約定的配置就是這么默認的,不要輕易更改。

  請注意,這里開始講解配置會比較多,理念的理解還是主要是開頭的理念,Controller的作用這里就不再累贅了。

  

  在新建的Controller里面有一個,Index,這是其中的一個Action的名字,在這里Action的含義是動作,可以理解為頁面的各種動作,Index就是默認的一個動作。

  在Index上面右擊,添加視圖,視圖的名字默認和Action是一樣的,不用修改,目前選擇使用Aspx視圖引擎,先不要模版。

  添加后跳到了Index.aspx頁面,這是一個HTML的世界,當你習慣性地打開工具箱的時候,你會發現,工具箱中的控件少得可憐,沒有那些強大的服務端控件,沒有了那些拖慢了aspx頁面的服務端控件,剩下的只有簡單的html。

  讓我們簡單的寫點上去,Hello World必須寫,你懂的,運行起來吧小宇宙。。。。。

  

  這里要看到一個:URL地址,默認其實是localhost:7777,我現在寫的是補全后的地址。

    Home是我們的控制器的名字,Index是我們Action的名字,相信朋友們應該發現一點MVC的奧秘了吧

  對,沒錯,你們想得沒錯,MVC在這里的里面,是用 Controller+Action 確定訪問地址,簡單粗暴,嘿嘿....

 

五 Controller+Action

  剛才講到了訪問地址,下面呢,我們再講一點,頁面跳轉的知識,后面我們再進行別的問題的深入。

  在剛開始學習MVC的時候,對Controller和Action的理解一般都會比較模糊,下面的幾個例子來看下:

  在Home控制器下新建一個Action

  

  並且添加視圖,在新建的試圖里面寫點東西

  回到我們的Index視圖中,

  

  運行,點擊我們的Link to MyAction

  

  在此看地址,已經更改了,其實這種沒有后綴的形式,在<a>的鏈接屬性方面還是沒有什么差別的。

  再來看一個,更強大的東西,傳說中的HtmlHelper:

    <div>
        Hello World,MVC,I'm JamesZhu.
        <hr/>
        <a href="/Home/MyAction">Link to MyAction</a>
        <hr/>
        <% Html.ActionLink("Link to MyAction", "MyAction", "Home"); %>
    </div>

  可以達到同樣的效果,嘿嘿,Html這是一個很強大的東西,后面再深入講,今天寫到這里了,嘿嘿

 

四 總結

  稍微總結下,這篇文章,主要時候有一定web開發經驗,熟悉html前端,以及asp.net,然后又想學習mvc的朋友,可以借鑒下。

 

聲明

  本文主要是個人學習MVC后的一些經驗以及看法,僅供參考,如有錯誤,歡迎指正,謝謝。

  個人感覺:在學習MVC之前,最好有以下知識儲備:HTML,Jquery,Ajax,Asp.Net等技術基礎

 

 

 

 


免責聲明!

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



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