一個典型的 ASP.NET MVC Web 應用程序的文件夾內容如下所示:
所有的 MVC 應用程序的文件夾名稱都是相同的。MVC 框架是基於默認的命名。控制器寫在 Controllers 文件夾中,視圖寫在 Views 文件夾中,模型寫在 Models 文件夾中。您不必再應用程序代碼中使用文件夾名稱。
標准化的命名減少了代碼量,同時有利於開發人員對 MVC 項目的理解。
下面是對每個文件夾內容的簡短概述:
目錄/文件 |
簡單說明 |
App_Data 文件夾 |
用於存儲應用程序數據。主要是包含應用程序的本地存儲, 它通常以文件形式(如Microsoft SQL Server數據庫文件, XML文件等)包含數據存儲。 |
App_Start 文件夾 |
該文件夾包含應用程序的配置邏輯文件, 具體包括BundleConfig.cs, FilterConfig.cs, RouteConfig.cs, Startup.Auth.cs BundleConfig.cs: 注冊所使用的捆綁的CSS 和 JS文件。 FilterConfig.cs: 注冊外部/全局過濾器,這些過濾器可以被應用到每個Action和Controller中去. RouteConfig.cs: 配置MVC應用程序的系統路由路徑。 Startup.Auth.cs: 配置MVC應用程序的安全信息,包括Authentication和Authorization配置以及第三方Authentication Provider(我的項目中就沒有) |
Content 文件夾 |
存放靜態文件,比如樣式表(CSS 文件)、圖標和圖像。 Visual Web Developer 會自動添加一個 themes 文件夾到 Content 文件夾中。themes 文件夾存放 jQuery 樣式和圖片。在項目中,您可以刪除這個 themes 文件夾。 同時也會添加一個標准的樣式表文件到項目中:即 content 文件夾中的 Site.css 文件。這個樣式表文件是您想要改變應用程序樣式時需要編輯的文件。 |
Controllers 文件夾 |
包含負責處理用戶輸入和響應的控制器類。 MVC 要求所有控制器文件的名稱以 "Controller" 結尾。 Visual Web Developer 已經創建好一個 Home 控制器(用於 Home 頁面和 About 頁面)和一個 Account 控制器(用於 Login 頁面): |
fonts 文件夾 |
存放一些字體文件 |
Models 文件夾 |
包含表示應用程序模型的類。模型控制並操作應用程序的數據。 |
Scripts 文件夾 |
存儲應用程序所支持的腳本(js)文件。 默認情況下,Visual Web Developer 在這個文件夾中存放標准的 MVC、Ajax 和 jQuery 文件: 注釋:名為 "modernizr" 的文件時用於在應用程序中支持 HTML5 和 CSS3 的 JavaScript 文件。 |
Views 文件夾 |
用於存儲與應用程序的顯示相關的 HTML 文件(用戶界面)。 Views 文件夾中包含每個控制器對應的一個文件夾。在 Views 文件夾中,Visual Web Developer 已經創建了一個 Account 文件夾、一個 Home 文件夾、一個 Shared 文件夾。 Account 文件夾包含用於用戶賬號注冊和登錄的頁面。(我的沒有) Home 文件夾用於存儲諸如 home 頁和 about 頁之類的應用程序頁面。 Shared 文件夾用於存儲控制器間分享的視圖(母版頁和布局頁)。 _Viewstart.cshtml是一個在呈現View文件的時候的啟動文件,會在所有View(.cshtml)被執行之前執行,主要用於一些不方便或不能在母版(_Layout.cshtml)中進行的統一操作,譬如你有很多個沒有繼承關系的母版或不使用母版的單頁。 |
Global.asax |
主要是web應用程序的全局設置文件,該文件包含響應 ASP.NET 或HTTP模塊所引發的應用程序級別和會話級別事件的代碼。Global.asax 文件駐留在 ASP.NET 應用程序的根目錄中。運行時,分析 Global.asax 並將其編譯到一個動態生成的 .NET Framework 類,該類是從HttpApplication基類派生的。配置 ASP.NET,以便自動拒絕對 Global.asax 文件的任何直接的 URL 請求;外部用戶不能下載或查看其中的代碼。Global.asax 文件是可選的。只在希望處理應用程序事件或會話事件時,才應創建它. |
|
具體取決於應用程序的類型。 安裝大多數版本的 SDK 時,系統會自動將配置文件添加到項目。 使用 IIS 服務器上的狀態監視器或者選擇適用於 Azure 網站或 VM 的 Application Insights 擴展時,也會將配置文件添加到 Web 應用。 |
packages.config |
NuGet管理用的 |