ASP.NET 是執行平台/框架,C# 是開發語言,WebForm 是 ASP.NET 提供的其中一種程式模型。 使用 C# 開發 B/S 架構網站,絕大多數情況下就是在 ASP.NET 平台上使用 C# 撰寫 WebForm (或 MVC、Web API、Blazor 等) 應用程式。
.aspx 頁面 + .aspx.cs 後置程式碼,支援伺服器控制項、ViewState、PostBack 機制。| 模型 | 特點 | 狀態 |
|---|---|---|
| Web Forms | 事件驅動、伺服器控制項、ViewState | 維護模式 (不再新增功能) |
| ASP.NET MVC | MVC 架構、關注點分離、可測試、RESTful | 成熟穩定 |
| ASP.NET Web API | HTTP 服務、內容協商、OData | 整合入 ASP.NET Core |
| ASP.NET Core | 跨平台、高效能、模組化、統一 MVC/Web API | **現代首選** |
| Blazor | C# 執行於瀏覽器 (WebAssembly) 或伺服器 | 新興熱門 |
因為 ASP.NET 是**執行 C# Web 程式碼的宿主環境**。沒有 ASP.NET (或 ASP.NET Core),C# 程式碼無法處理 HTTP 要求、管理 Session、渲染 HTML。WebForm 只是 ASP.NET 所提供的**其中一種** UI 程式模型。
總結:C# 是語言,ASP.NET 是舞臺,WebForm 是舞臺上的一齣戲。現代開發請擁抱 ASP.NET Core。