為了掌握 ASP.NET MVC 開發精髓,我們將從建構一個 Internet 應用程式開始,逐步深入探討 MVC 架構的核心概念。
第二部分:全方位剖析應用程式資料夾結構與運作機制。
一個標準的 ASP.NET MVC Web 應用程式,其專案目錄結構如下圖所示:
專案基礎設定
核心應用程式資料夾
關鍵配置檔案
MVC 框架採用「慣例優於配置」的設計哲學,所有 MVC 專案共享相同的資料夾命名慣例:控制器必須置於 Controllers 資料夾、視圖置於 Views 資料夾、模型置於 Models 資料夾。這種標準化命名不僅大幅減少程式碼撰寫量,更能讓開發團隊快速理解專案架構,提升協作效率。
App_Data 是專門用於儲存應用程式本地資料的安全目錄,包含 SQL Server Compact 資料庫 (.sdf)、XML 檔案或其他資料檔案。IIS 預設禁止直接透過 URL 存取此資料夾內容,確保資料安全性。
在後續章節中,我們將示範如何將 SQL 資料庫部署至 App_Data 資料夾,並建立資料連線。
Content 資料夾專門存放樣式表 (CSS)、網站圖示、圖片等靜態前端資源。Visual Web Developer 會自動建立 themes 子資料夾,內含 jQuery UI 樣式與圖片資源;若專案不需要 jQuery UI,可安全刪除此資料夾。
專案預設包含 Site.css 樣式表,這是自訂網站視覺風格的主要編輯檔案:
下一章我們將實作修改 Site.css,打造專屬的網站視覺識別系統。
Controllers 資料夾集中管理所有控制器類別,負責接收使用者輸入、協調模型與視圖互動、決定回應邏輯。MVC 慣例要求控制器類別命名必須以 "Controller" 為後綴 (如 HomeController、AccountController)。
專案範本預設建立兩個控制器:
後續教學將引導建立更多業務控制器,實作完整的 CRUD 操作流程。
Models 資料夾包含代表應用程式資料結構與業務規則的類別。模型類別負責資料存取、驗證規則、運算邏輯等核心功能,是 MVC 架構中「M」的具體實現。
我們將在後續章節逐步建立領域模型、檢視模型與輸入模型,展示資料註解驗證、Entity Framework 整合等進階技巧。
Views 資料夾儲存與呈現邏輯相關的 HTML 模板檔案 (副檔名 .cshtml 或 .vbhtml)。其結構遵循「每個控制器對應一個同名子資料夾」的慣例:
Shared 資料夾中的 _Layout.cshtml 是全站共用的母版頁面,下一章我們將深入客製化版面架構。
Scripts 資料夾集中管理 JavaScript 檔案,包含 jQuery、jQuery Validation、Modernizr、Bootstrap 等前端函式庫:
備註: Modernizr 是偵測瀏覽器 HTML5 與 CSS3 功能支援度的 JavaScript 庫,協助實作漸進式增強策略。