ASP.NET 是微軟推出的 Web 開發框架,整合 HTML、CSS、JavaScript 與伺服器端程式碼,支援三種主要開發模式:Web Pages (輕量級頁面導向)、MVC (模型-視圖-控制器架構)、Web Forms (事件驅動、控制項導向)。
本教學系列專注於 MVC 架構深度解析與實戰應用。
MVC (Model-View-Controller) 是將應用程式劃分為三個核心職責層的架構模式:
MVC 架構賦予開發者對 HTML、CSS、JavaScript 的完全掌控權,無 ViewState、無伺服器端控制項生命週期,輸出標記乾淨精簡,極利於前端工程化與 SEO 優化。
MVC 三層邏輯架構:
業務層 (模型邏輯) - 核心領域規則與資料操作
顯示層 (視圖邏輯) - 使用者介面渲染與互動
輸入控制 (控制器邏輯) - 要求處理與流程協調
Model (模型) 是處理應用程式資料邏輯的核心層。模型物件通常封裝資料庫存取 (透過 Entity Framework、Dapper、ADO.NET)、實作驗證屬性 (Data Annotations)、定義業務運算方法。
View (視圖) 負責資料呈現邏輯。視圖通常為 .cshtml/.vbhtml 檔案,使用 Razor 語法將模型資料轉換為 HTML。支援版面配置、區塊、部分視圖、編輯器/顯示範本等進階功能。
Controller (控制器) 處理使用者互動流程。控制器動作方法接收要求參數、呼叫模型服務、選擇回應視圖或資料格式。遵循 PRG 模式 (Post-Redirect-Get) 防止重複提交。
分層架構的核心優勢:
MVC 是傳統 ASP.NET Web Forms 的輕量級替代方案:
| 比較維度 | Web Forms | MVC |
|---|---|---|
| 架構風格 | 事件驅動、狀態保持 | RESTful、無狀態、關注點分離 |
| HTML 掌控度 | 低 (伺服器控制項產生) | 完全掌控 |
| ViewState | 內建、頁面體積大 | 無、頻寬效率高 |
| 測試難度 | 高 (依賴 HttpContext) | 低 (相依性注入友善) |
| 學習曲線 | 平緩 (類 WinForms) | 中等 (需理解 HTTP、HTML、模式) |
| 適用場景 | 快速原型、內部管理系統 | 公眾網站、高流量、SEO 關鍵、團隊協作 |
MVC 保留 ASP.NET 核心功能:母版頁面 (Layout)、身分驗證授權 (Identity)、快取、Session、快速開發工具箱等。
Visual Studio Express 是微軟提供的免費版 IDE,專為 Web 開發優化:
建議安裝最新版 Visual Studio Community (功能完整、免費授權) 以獲得最佳開發體驗。
下載連結:
安裝完成後,可透過 Visual Studio Installer 隨時新增工作負載、更新 SDK、安裝 Service Pack。
本教學系列結尾提供完整的 API 參考文件,涵蓋控制器基底類別、動作結果、模型繫結、驗證屬性、過濾器、路由、領域、單元測試等核心命名空間。建議學習路徑:基礎架構 → 路由與控制器 → 模型與 Entity Framework → 視圖與 Razor → 驗證與安全性 → 進階主題 (Web API、SignalR、Docker 部署)。