欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET?MVC框架簡(jiǎn)介

 更新時(shí)間:2022年02月26日 08:38:25   作者:.NET開(kāi)發(fā)菜鳥(niǎo)  
這篇文章介紹了ASP.NET?MVC框架,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、MVC模式

概述

1、MVC是一種流行的Web應(yīng)用架構(gòu)技術(shù),他把Web應(yīng)用劃分成Model(模型)、Controller(控制器)和View(視圖)三部分。

2、優(yōu)點(diǎn):可測(cè)試、可維護(hù)

3、MVC是ASP.NET技術(shù)的子級(jí)(ASP.NET MVC),ASP.NET包括:ASP.NET WebForm和ASP.NET MVC。

二、MVC簡(jiǎn)介

1、MVC是什么

MVC是一種軟件架構(gòu)設(shè)計(jì)模式,針對(duì)具備人機(jī)交互功能的軟件和程序。

2、執(zhí)行順序

控制器接收網(wǎng)頁(yè)發(fā)送的請(qǐng)求,如果需要請(qǐng)求數(shù)據(jù),先從Model里面取出數(shù)據(jù),然后再交給View展示。

3、Web開(kāi)發(fā)的本質(zhì)

Web開(kāi)發(fā)的本質(zhì)流程:請(qǐng)求->處理->響應(yīng),WebForm方式不貼近web開(kāi)發(fā)的本質(zhì)。

三、創(chuàng)建ASP.NET MVC步驟

1、創(chuàng)建ASP.NET MVC項(xiàng)目。

文件->新建->項(xiàng)目->Web項(xiàng)目,根據(jù)需要選擇相應(yīng)版本的ASP.NET MVC應(yīng)用程序,點(diǎn)擊“確定”:

2、在項(xiàng)目模板選擇界面,選擇相應(yīng)的模板和視圖引擎,點(diǎn)擊確定,新建一個(gè)ASP.NET MVC應(yīng)用程序:

3、創(chuàng)建Controller控制器。

本示例以VS2012為開(kāi)發(fā)工具,創(chuàng)建的MVC4應(yīng)用程序,需要?jiǎng)?chuàng)建控制器才可以運(yùn)行(VS2013或以上版本已經(jīng)默認(rèn)創(chuàng)建了控制器,直接就可以運(yùn)行)。

在Controllers文件夾上面點(diǎn)擊右鍵->添加->控制器:

輸入控制器的名稱(chēng)(控制器的名稱(chēng)約定以Controller結(jié)尾),選擇模板,點(diǎn)擊添加:

4、創(chuàng)建視圖。

在控制器代碼界面,在方法名稱(chēng)上面點(diǎn)擊右鍵:選擇“添加視圖”:

在添加視圖選項(xiàng)卡界面,輸入視圖名稱(chēng),視圖名稱(chēng)必須和方法的名稱(chēng)保持一致,選擇視圖引擎,點(diǎn)添加:

在Views文件夾里面會(huì)看到新添加的視圖:

四、ASP.NET MVC項(xiàng)目結(jié)構(gòu)

新創(chuàng)建的MVC應(yīng)用程序結(jié)構(gòu)如圖所示:

1、Content文件夾

存放資源文件,例如Css文件、第三方插件等。

2、Controllers文件夾

存放MVC應(yīng)用程序相關(guān)的控制器文件。

3、Models文件夾

存放除了Controller和View以外的文件。

注意:與三層結(jié)構(gòu)的Models不同,MVC里的Models里面可以放實(shí)體類(lèi)、數(shù)據(jù)訪問(wèn)類(lèi)和業(yè)務(wù)類(lèi)等。

4、Scripts文件夾

存放各種腳本文件。

5、Views文件夾

存放View文件。

6、Shared文件夾

Shared文件夾位于Views文件夾里面,任何控制器中找不到的視圖都會(huì)去Shared文件夾下面找。

7、Web.Config

存放配置信息。

8、Global.asax

Global.asax存放應(yīng)用程序啟動(dòng)時(shí)要執(zhí)行的代碼。

五、代碼詳解

1、Global.asax—應(yīng)用程序啟動(dòng)注冊(cè)路由

當(dāng)對(duì)網(wǎng)站發(fā)出請(qǐng)求時(shí),應(yīng)用程序是如何把請(qǐng)求引到對(duì)應(yīng)的控制器及里面的Action方法
答:首先網(wǎng)站一啟動(dòng),會(huì)提前加載根據(jù)控制器和Action方法設(shè)置的路由規(guī)則,這樣一請(qǐng)求,路由就會(huì)分析之后把請(qǐng)求引到對(duì)應(yīng)的控制器和Action方法。

RouteConfig類(lèi)位于App_Start文件夾下面。

2、控制器

  • 1)根據(jù)前面的解析,每次請(qǐng)求都是先定位控制器,然后再根據(jù)路由規(guī)則找到對(duì)應(yīng)的Action方法!
  • 2)但是在路由表里,我們只寫(xiě)了Home,但是MVC框架約定,控制器都是以Controller結(jié)尾,并繼承了基類(lèi)Controller!
  • 3)在這里Index方法返回值類(lèi)型是ActionResult,方法名和路由注冊(cè)的方法名一致,在Index方法內(nèi),調(diào)用了View方法并且返回,這是一個(gè)重載的方法,可以給個(gè)參數(shù),作為返回視圖的名稱(chēng),如果沒(méi)有參數(shù),默認(rèn)就是以當(dāng)前Action命名的視圖。
  • 4)也就是Asp.netMVC架構(gòu),不像Java的MVC通過(guò)配置來(lái)建立關(guān)系,他是約定大于配置。

3、視圖

視圖里的代碼類(lèi)似于之前的ASPX里面的代碼,主要是HTML、JS和CSS等前端技術(shù)構(gòu)成,從MVC1.0到MVC5.0變化很大,Razor語(yǔ)法越來(lái)越完善,強(qiáng)大!

4、向視圖傳遞數(shù)據(jù)

1)傳統(tǒng)的WebForm方式,前置頁(yè)面類(lèi)和后置代碼類(lèi)是繼承的關(guān)系,可以直接進(jìn)行數(shù)據(jù)傳遞。
2)MVC模式下,視圖和控制器是完全分離的,通過(guò)專(zhuān)用渠道傳遞數(shù)據(jù),ViewData是在控制器和視圖之間傳遞數(shù)據(jù)的容器之一。

5、ASP.NET MVC執(zhí)行順序

六、Model和三層架構(gòu)

1、MVC與三層架構(gòu)之間有沒(méi)有區(qū)別?

  • 1)MVC和三層架構(gòu)沒(méi)有必然的關(guān)系,架構(gòu)的思想是不一樣的。
  • 2)三層架構(gòu)強(qiáng)調(diào)的是物理分離(多個(gè)項(xiàng)目構(gòu)成),MVC強(qiáng)調(diào)的是邏輯分離(一個(gè)項(xiàng)目構(gòu)成)。
  • 3)MVC中也可以體現(xiàn)三層架構(gòu)。

  • 4)有些MVC企業(yè)框架為了方便管理,會(huì)故意把Models做分層設(shè)計(jì)。

注意:在MVC中如果它不屬于View也不屬于Controller,那么就把它歸到Model中。

七、MVC和ASP.NET

1、ASP.NET MVC和ASP.NET

  • (1)ASP.NET MVC是ASP.NET技術(shù)的子集。
  • (2)ASP.NET MVC是在核心ASP.NET基礎(chǔ)之上構(gòu)建
    • 1.依賴(lài)于HttpHandler,如請(qǐng)求是如何進(jìn)入控制器的
    • 2.依賴(lài)于Session、Cookie、Cache、Applaction等狀態(tài)保持機(jī)制
    • 3.使用HttpContext、Request、Response、Server等對(duì)象
    • 4.在Controller使用智能感知很容易得到這些對(duì)象
  • (3)ASP.NET MVC是.NET中編寫(xiě)WEB程序的一種可選方式
    WebForms技術(shù)是另外一種可選方式

2、MVC和WebForms

(1)WebForms的特色

  • 1)所見(jiàn)即所得,開(kāi)發(fā)傻瓜化
    • 1.服務(wù)器端控件
    • 2.事件模型
    • 3.狀態(tài)管理
  • 2)借鑒Winforms的成功特色
  • 3)偏離了Web請(qǐng)求處理的原理

(2)Asp.net MVC的特色

  • 1)關(guān)注分離
    • 1.WebForm只是把一個(gè)頁(yè)面分成了前置頁(yè)面和后置代碼,不夠徹底
    • 2.MVC可以把一個(gè)頁(yè)分成三塊,分得更徹底
  • 2)可測(cè)試性
  • 3)開(kāi)發(fā)更接近WEB的本質(zhì)
  • 4)對(duì)開(kāi)發(fā)人員的技術(shù)水平要求更高

到此這篇關(guān)于ASP.NET MVC框架的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET中HttpContext對(duì)象下的屬性介紹

    ASP.NET中HttpContext對(duì)象下的屬性介紹

    這篇文章介紹了ASP.NET中HttpContext對(duì)象下的屬性,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 詳解ASP.NET Core中間件Middleware

    詳解ASP.NET Core中間件Middleware

    本文詳細(xì)講解了ASP.NET Core中間件Middleware,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • ASP.NET?MVC模式中應(yīng)用程序結(jié)構(gòu)詳解

    ASP.NET?MVC模式中應(yīng)用程序結(jié)構(gòu)詳解

    本文詳細(xì)講解了ASP.NET?MVC模式中的應(yīng)用程序結(jié)構(gòu),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • ASP.NET中 ListBox列表框控件的使用方法

    ASP.NET中 ListBox列表框控件的使用方法

    本文主要介紹ListBox控件的使用方法,ListBox控件可以一次顯示多個(gè)項(xiàng),而且可以允許用戶(hù)一次選擇多個(gè)項(xiàng)。
    2016-04-04
  • ASP.NET?Core中間件用法與官方常用中間件介紹

    ASP.NET?Core中間件用法與官方常用中間件介紹

    這篇文章介紹了ASP.NET?Core中間件用法與官方常用中間件,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 連接ACCESS數(shù)據(jù)庫(kù)時(shí)發(fā)生錯(cuò)誤提示:找不到可安裝的 ISAM

    連接ACCESS數(shù)據(jù)庫(kù)時(shí)發(fā)生錯(cuò)誤提示:找不到可安裝的 ISAM

    連接ACCESS數(shù)據(jù)庫(kù)時(shí)發(fā)生錯(cuò)誤提示:找不到可安裝的 ISAM 檢查后發(fā)現(xiàn)原來(lái)是把Data Source寫(xiě)成 DataSource了
    2011-04-04
  • .Net中的不可變集合(Immutable Collection)程序集簡(jiǎn)介

    .Net中的不可變集合(Immutable Collection)程序集簡(jiǎn)介

    這篇文章介紹了.Net中的不可變集合(Immutable Collection)程序集,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Entity Framework Core工具使用命令行

    Entity Framework Core工具使用命令行

    這篇文章介紹了Entity Framework Core工具使用命令行,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • 為ABP框架增加日志組件與依賴(lài)注入服務(wù)

    為ABP框架增加日志組件與依賴(lài)注入服務(wù)

    這篇文章介紹了為ABP框架增加日志組件與依賴(lài)注入服務(wù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • .Net創(chuàng)建型設(shè)計(jì)模式之建造者、生成器模式(Builder)

    .Net創(chuàng)建型設(shè)計(jì)模式之建造者、生成器模式(Builder)

    這篇文章介紹了.Net設(shè)計(jì)模式之建造者、生成器模式(Builder),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論