《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5項目初探 — 第二節:MVC5項目結構
第一境 ASP.Net MVC5項目初探
第一節:運行第一個MVC5項目
第二節:MVC5項目結構
第三節:View層簡單改造
第四節:打造首頁面
第二節:MVC5項目結構
接下來,我們來看看,VS為我們自動創建的項目,是什麽樣子的?
可以通過菜單中[View]->[Solution Explorer]項來打開解決方案資源管理器。這是一個樹形結構的視圖,根節點是解決方案,解決方案節點下,就是一個一個的項目了,目前,我們的解決方案裏只有一個項目(HonorShop.Web)。
接下來,展開(HonorShop.Web)項目節點,概要介紹一下幾個重要的目錄和文件:
App_Data:顧名思義,用來放置應用程序相關數據文件的目錄;
App_Start:這裏邊,默認有三個Config文件,都很重要,以後會經常用到
- BundleConfig.cs:Bundling是MVC提供的一種對靜態文件(如:JS腳本、樣式表)進行優化的機制;
- FilterConfig.cs:就是用來註冊過濾器的。什麽是過濾器?有什麽用?怎麽工作的?我們在後續章節中進行詳細講解;
- RouteConfig.cs:配置MVC應用的路由;
說它們重要,自然是有道理的,因為我們後面會經常用到他們。
Content:用來放置一些靜態資源(樣式表、圖片、音頻、視頻文件等)。VS默認生成了一個Site.css和Bootstrap框架樣式表文件;
Scripts:也是用來放置靜態資源,但主要是腳本文件。VS默認放置了bootstrap、jquery和modernizr幾個前端框架;
- bootstrap:是Twitter推出的一個用於前端開發的開源工具包。口號是:簡潔、直觀、強悍的前端開發框架,讓web開發更迅速、簡單;
- jquery:就不做解釋了,說多了都有辱盛名;
- modernizr:是一個 JavaScript 庫,用於檢測用戶瀏覽器的 HTML5 與 CSS3 特性;
fonts:可以添加一些客戶端系統沒有安裝的字體(*.woff,*.svg);
Models、Views、Controllers:這三個目錄為什麽綁一塊兒說,MVC麽,模型、視圖、控制器,密不可分,也是本書的主旨,他們的精神將貫穿全書;
Global.asax:這個文件默認包含一個繼承自System.Web.HttpApplication的類MvcApplication,這個類中包含一個Application_Start()方法。Application_Start方法中,包含了AreaRegistration.RegisterAllAreas,FilterConfig.RegisterGlobalFilters,RouteConfig.RegisterRoutes和BundleConfig.RegisterBundles這四個初始化註冊方法;MVC項目啟動時,就會先運行Application_Start方法,這裏是開發人員對MVC應用可控的第一入口點。當然,Application_Start不禁讓我想起了Web Pages項目中的Global文件中,默認還會列出Application_End,Session_Start和Session_End方法,它們都被放棄了嗎?並沒有,只是沒有出現在默認的創建中出現。
packages.config:使用NuGet管理應用程序依賴包的配置文件,可以在解決方案目錄下的packages子目錄中找到這些依賴文件;
Web.config:網站項目的配置文件;
《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5項目初探 — 第二節:MVC5項目結構