版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ASP.NETMVC網(wǎng)站設(shè)計教程第1章ASP.NETMVC簡介1.1ASP.NETMVC簡介ASP.NETMVC是微軟官方提供的一種開源MVC框架,在經(jīng)過了漫長的Preview和2個RC版本后,2009年3月發(fā)布了ASP.NETMVC1.0版本;2010年3月發(fā)布了ASP.NETMVC2版本,該版本加入自定義的UI和強(qiáng)類型等HTML輔助程序,同時對VisualStudio開發(fā)工具進(jìn)行了改善;2011年1月發(fā)布了ASP.NETMVC3版本,提供了支持Razor視圖的新引擎,改進(jìn)了模型驗(yàn)證,支持JavaScript以及非侵入式的Javascript、JQuery和JSON綁定;2012年9月發(fā)布了ASP.NETMVC4版本,新增了手機(jī)模版、單頁應(yīng)用程序、WebAPI等模版,更新了Javascript庫,同時也增強(qiáng)了對HTML5、AsyncController等的支持;2015年7月與VisualStudio2015一同發(fā)布了ASP.NETMVC5,也是當(dāng)前的最新版本,增加了部分新的Web項目體驗(yàn),重寫了成員和身份驗(yàn)證系統(tǒng),并可以通過Nuget添加MVC。1.1.1ASP.NETMVC開發(fā)簡史MVC(ModelViewController)模式將應(yīng)用程序分為模型、視圖和控制器三個主要組成部分。MVC模式有助于實(shí)現(xiàn)關(guān)注點(diǎn)分離,網(wǎng)站運(yùn)行時由路由器解析用戶訪問的請求并將其轉(zhuǎn)到控制器,控制器使用模型執(zhí)行用戶操作或檢索查詢結(jié)果,選擇所需的模型數(shù)據(jù)向用戶顯示視圖。1.1.2MVC模式初探1.模型(Model)模型是實(shí)現(xiàn)應(yīng)用程序數(shù)據(jù)邏輯的程序部件,模型對象會檢索模型狀態(tài)并將其存儲在數(shù)據(jù)庫中。模型負(fù)責(zé)所有與數(shù)據(jù)相關(guān)的內(nèi)容,如數(shù)據(jù)結(jié)構(gòu)的封裝、數(shù)據(jù)庫連接、讀取數(shù)據(jù)庫、執(zhí)行存儲過程、數(shù)據(jù)格式顯示、數(shù)據(jù)有效性約束等。2.視圖(View)視圖是顯示應(yīng)用程序用戶界面(UI)的組件,可以將模型創(chuàng)建的數(shù)據(jù)在UI中顯示,并作為與用戶交互的接口。視圖負(fù)責(zé)所有Web頁面顯示的內(nèi)容,如按指定格式將數(shù)據(jù)顯示給用戶、接受用戶輸入、決定數(shù)據(jù)的傳遞格式和傳送方式、實(shí)現(xiàn)數(shù)據(jù)的驗(yàn)證等。3.控制器(Controller)控制器是處理用戶交互、選擇模型并使用特定視圖來顯示UI的組件??刂破鳑Q定了系統(tǒng)運(yùn)行的流程,如從Model中讀取數(shù)據(jù)、決定View顯示等。MVC模式的主要優(yōu)點(diǎn)(1)項目分成Model、View和Controller三部分,使得復(fù)雜項目更加容易維護(hù),減少了項目之間的耦合;(2)項目中不使用ViewState和服務(wù)器控件,可以更方便地控制應(yīng)用程序的行為;(3)應(yīng)用程序通過Controller來控制程序請求,可以由UrlRouting功能來重寫URL;(4)項目分為獨(dú)立模塊可以更好地支持單元測試;(5)項目分為獨(dú)立模塊可以更好的支持團(tuán)隊開發(fā)模式。1.1.3ASP.NETWebForm和ASP.NETMVC對比1.ASP.NETWebForm的優(yōu)點(diǎn)(1)具有大量的服務(wù)器控件支持。如GridView、Repeater等控件,可以方便地進(jìn)行數(shù)據(jù)綁定,從而減少的代碼的編寫。(2)基于事件驅(qū)動編程。如快速為控件添加Click、PostBack等事件。(3)顯示和處理邏輯分離。如aspx頁面和cs代碼文件分離,代碼比較清晰。(4)支持視圖狀態(tài)。每個控件以“隱藏域”的形式存在當(dāng)前頁面表單中,所見即所得。2.ASP.NETWebForm的缺點(diǎn)(1)深入學(xué)習(xí)的難度較大。由于微軟封裝的比較深,深入學(xué)習(xí)不容易。(2)頁面性能不高。使用ViewState增加了頁面的負(fù)擔(dān)。(3)文件緊密耦合度太高。采用Code-Behind代碼后植技術(shù),文件緊密耦合度高。(4)不利于單元測試。包含了大量的事件處理函數(shù),單元測試較麻煩。3.ASP.NETMVC的優(yōu)點(diǎn)(1)MVC架構(gòu)降低了程序間的耦合性,可以方便地進(jìn)行單元測試;(2)不使用ViewState技術(shù),頁面更加干凈,提升了程序的性能;(3)支持并行開發(fā),可擴(kuò)展性好,繼承了ASP.NET的特性,如表單驗(yàn)證、會話等;(4)通過修改路由規(guī)則,可以生成自定義的友好URL;(5)可使用強(qiáng)類型View,頁面更安全,更高效。4.ASP.NETMVC的缺點(diǎn)(1)需要有HTML、CSS、JavaScript、JQuery等前端技術(shù),學(xué)習(xí)的成本增加;(2)不支持視圖狀態(tài),頁面設(shè)計時無法實(shí)現(xiàn)所見即所得。1.2MVC模式下的Web項目開發(fā)【例1-1】在D盤ASP.NETMVC應(yīng)用程序目錄中創(chuàng)建chapter1子目錄,將其作為網(wǎng)站根目錄,創(chuàng)建一個名為example1-1的項目,設(shè)計Web頁面,運(yùn)行網(wǎng)站顯示“這是第一個ASP.NETMVC網(wǎng)頁”。1.2.2ASP.NETMVC應(yīng)用程序結(jié)構(gòu)表1.1ASP.NETMVC應(yīng)用程序的基本目錄目錄說明App_Data文件夾存儲應(yīng)用程序數(shù)據(jù)App_Start文件夾存儲啟動文件的配置信息,包括RouteConfig路由注冊信息Content文件夾存儲用于靜態(tài)文件,比如樣式表(CSS文件)、圖表和圖像Themes文件夾存儲jQuery樣式和圖片Controllers文件夾存儲控制器Models文件夾存儲應(yīng)用程序的數(shù)據(jù)模型Scripts文件夾存儲JavaScript文件Views文件夾存儲控制器的視圖文件Global.asax文件應(yīng)用程序第一次啟動的初始化操作信息Web.config文件ASP.NETMVC正常運(yùn)行所需的配置信息favicon.ico文件應(yīng)用程序的圖標(biāo)信息1.2.3ASP.NETMVC中的特殊文件夾表1.2特殊文件夾說明文件夾說明App_Browsers存儲瀏覽器定義(.browse)文件,通過文件識別并判斷瀏覽器App_Code存儲公用程序的源代碼(.cs、.vb和.js等)文件,將會編譯為應(yīng)用程序的一部分App_Data存儲應(yīng)用程序的數(shù)據(jù)文件(.md和.xm等)App_GlobalResources存儲資源(.resx和.resources)文件,將會編譯成具有全局范圍的組件App_LocalResources存儲資源(.resx和.resources)文件,將會與特定的頁面、用戶控件或應(yīng)用程序的主頁面(.MasterPage)進(jìn)行關(guān)聯(lián)主題存儲主題文件(.skin和.css等),用于定義網(wǎng)頁和控件的外觀1.2.4ASP.NETMVC中的文件類型表1.3VisualStudio的文件類型文件名后綴名說明解決方案文件.sln解決方案中的項目信息和通過屬性窗口訪問全局構(gòu)建設(shè)置信息用戶選項文件.suo特定用戶、存儲Web項目的轉(zhuǎn)換表、項目的離線狀態(tài)、以及其他項目構(gòu)建的設(shè)置信息C#項目文件.csproj參考內(nèi)容、名稱、版本等項目細(xì)節(jié)C#項目的用戶文件.csproj.user用戶的相關(guān)信息表1.4普通Web文件類型說明文件名后綴名說明C#文件.csC#源代碼文件XML文件.xmlXML文件與數(shù)據(jù)標(biāo)準(zhǔn)文件數(shù)據(jù)庫文件.mdfSQLServer數(shù)據(jù)庫文件類圖文件.cd類圖表文件腳本文件.jsJavaScript代碼文件配置文件.config存儲程序設(shè)置的程序配置文件圖標(biāo)文件.ico圖標(biāo)樣式的圖像文件文本文件.txt普通文本文件表1.5Web文件類型說明文件名后綴名說明MVC視圖文件.cshtml基于C#的Razor的視圖文件Web窗體文件.aspx代碼分離的Web窗體全局程序文件.asax以代碼形式處理程序全局事件的應(yīng)用文件,一個項目最多只可以包括一個global.asax文件靜態(tài)頁面文件.htm/.HTML標(biāo)準(zhǔn)的HTML頁樣式文件.css設(shè)置外觀的層疊樣式表站點(diǎn)地圖文件.sitemap表示頁面間層次關(guān)系的站點(diǎn)地圖皮膚文件.skin用于指定服務(wù)器控件的主題用戶控件文件.ascx用戶自主創(chuàng)建的Web控件瀏覽器文件.browser定義瀏覽器相關(guān)信息的文件1.4小結(jié)本章主要介
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廢氣回收合同范本
- 未登記寫合同范本
- 服裝臨時合同范本
- 廣美政治考研真題及答案
- 2025年寧波警務(wù)筆試真題及答案
- 2026唐山三友集團(tuán)招聘面試題及答案
- 2026上海銀行招聘面試題及答案
- 2026年演出經(jīng)紀(jì)人之演出市場政策與法律法規(guī)考試題庫200道帶答案(能力提升)
- 2026年山東藝術(shù)設(shè)計職業(yè)學(xué)院單招職業(yè)技能考試模擬測試卷附答案
- 2026陜西物流集團(tuán)招聘面試題及答案
- 初級消防員培訓(xùn)課程教學(xué)大綱
- (高清版)DB34∕T 5225-2025 風(fēng)景名勝區(qū)擬建項目對景觀及生態(tài)影響評價技術(shù)規(guī)范
- 2025年廣東省中考物理試題卷(含答案)
- 《電子商務(wù)師(四級)理論知識鑒定要素細(xì)目表》
- 高通量測序平臺考核試卷
- 2024-2030年中國花卉電商行業(yè)發(fā)展前景預(yù)測及投資策略研究報告
- T/CI 475-2024廚余垃圾廢水處理工程技術(shù)規(guī)范
- T/CNCA 054-2023管道輸煤工程設(shè)計規(guī)范
- 工程招投標(biāo)與監(jiān)理實(shí)務(wù)整體介紹吳莉四川交通04課件
- 2025+CSCO宮頸癌診療指南解讀
- DG-TJ08-2207-2024城市供水管網(wǎng)泵站遠(yuǎn)程監(jiān)控系統(tǒng)技術(shù)標(biāo)準(zhǔn)
評論
0/150
提交評論