ASP.NET MVC 教學 — 由零開始的三天入門課
ASP.NET MVC 教學 — 由零開始的三天入門課
課程介紹
MVC 是一種「設計模式」,理論上應該先學好物件導向(OOP)之後,才適合學習「設計模式」。微軟 ASP.NET MVC 提供了完善的開發架構,讓普羅大眾也有能撰寫符合 MVC 規範的網頁程式。
專為初學者設計的課程
市面上的 MVC 書籍與微軟官方教材,鎖定的讀者通常是寫過程式、有經驗的人。造成許多想學習 ASP.NET MVC 卻沒有經驗的人無門可入。甚至有人反應「上課第一天就聽不懂」、「書本看不到三章就放棄」。有鑑於此,《ASP.NET MVC 教學 — 由零開始的入門課》即是專門為初學者所設計的課程,即便先前沒有接觸過,也能輕易入門。但建議學習者最好具備基礎的程式設計能力,並知道資料庫(DataBase)與簡單的 T-SQL 指令,對本課程會有較佳的理解。
購買課程 https://9vs1.com/go/?i=20d6bc23f633
請輸入七折優惠代碼 xKeXP6p
系統化教學
本課程規劃成三天的進度,前兩天的階段是為了補強學員的基礎。尤其是類別(class)的學習與使用,先用簡單的範例讓學員們練習,慢慢將基礎墊高,日後才有辦法銜接得上坊間的 MVC 書本與範例。等到打好基礎後,即會進入第三天的階段,學習更進階的功能。
第一天
從零開始告訴大家,市面上的商業網站由哪些功能組合而成,哪些功能學員也能從這堂課學到。MVC 的觀念與流程,直接用一個範例讓學員恍然大悟。並且帶領大家知道網頁的「前端」「後端」的差異。讓您親自動手撰寫第一個控制器(Controller)。
第二天
帶領各位熟悉網頁表單、Razor 的各種變化,並學習基本的 C# 語法(不用學到多深,夠用就好)。路由(Routing)與 MVC 的網址(URL)彼此關連。類別(class)入門與實作,全數讓學員親自動手做。到了第二天的課程,就已經在不知不覺中接觸過 M、V、C 三者,並且可以做出「資料新增」、「資料展示」的基本功能。
第三天
ASP.NET MVC 網頁正式搭配資料庫,做出商業網站的實用功能。不管是關鍵字(多重條件)搜尋、資料分頁(不採用現成套件,而是親自動手寫)、資料管理(新增、刪除、修改),各種功能一應俱全。最特別的是,為學員整理出「三個基本招式」,只要學會基礎三招,就可以衍生變化出各種功能,以簡馭繁,讓您學習更輕鬆!
課程特色
- 以實作優先:減少理論說明,大量練習範例,講求從做中學。
- 錯誤學習法:透過錯誤的範例從中學習,並找出自己的盲點。
- 購買課程 https://9vs1.com/go/?i=20d6bc23f633
- 請輸入七折優惠代碼 xKeXP6p
學員上課後會學到什麼或能做什麼
- 瞭解 MVC 的基本觀念與流程。建立類別、屬性來描述您的物件、資料記錄。
- 瞭解資料庫的應用、常見的網頁系統(購物商城、媒體網站、部落格 Blog、社群網站)相關功能是如何開發的。
- Visual Studio 開發工具、SQL Server(資料庫)Management Studio 的基本操作。
- 課程完成後,您將擁有一套簡單的網頁系統,可作為公佈欄、部落格 Blog 文章發表、產品說明與展示之用。
- 此網頁系統包含以下功能:資料管理(新增、刪除、修改)、關鍵字搜尋(多重條件的搜尋)、網站首頁(主表明細 Master-Detail 資料展示)、分頁展示…等等必備功能。
學員上課前需具備哪些軟、硬體設備或常識
- 基礎的程式設計能力,如 if 判別式、for / while 迴圈就夠了。
- 知道資料庫(DataBase)與簡單的 T-SQL 指令,如:CRUD。 課程所需軟體皆可免費下載:
- Visual Studio 2015、2017 或後續新版,請下載社群版(Community版)。
- 建議使用 Windows 作業系統。因為 Visual Studio Code 與 Visual Studio for Mac 與教學畫面仍有許多差異。
- SQL Server Express 版(免費)。建議使用 SQL Server 2012(Express版)或後續新版。
課程適合對象
- 需要撰寫網頁系統、或對於網頁與資料庫的開發有興趣的朋友。
- 未來的程式設計師 — 希望將來進入業界寫程式,開發網頁系統。
- 曾寫過 ASP、ASP.NET(Web Form)、PHP、JSP 的朋友,現在想學習 ASP.NET MVC 5。
- 購買課程 https://9vs1.com/go/?i=20d6bc23f633
- 請輸入七折優惠代碼 xKeXP6p
學員見證
購買課程 https://9vs1.com/go/?i=20d6bc23f633
請輸入七折優惠代碼 xKeXP6p
課程綱要
第ㄧ天
1–1 初學者的第一門課
- 大部分的商業網站,有哪些功能?
- 後台管理區(登入後才能看見)
- ASP.NET MVC 課程需要哪些軟體工具?
- 從零開始,操作 Visual Studio (建立一個新專案 / New Project)
- 初學者,學習程式的幾個階段
- 網頁基本觀念,Response 與 Request
- 講解 MVC
- Case Study — 動手做!做中學!(一個範例讓你秒懂,瞬間開悟)
- 檢視畫面(網頁)的基本架構
- 執行並檢視成果(網頁、檢視畫面)
- 用錯誤,找出自己盲點。瞭解 MVC 就靠這個範例!
- 糾正錯誤、也糾正自己的觀念
- 現在,您終於看得懂 MVC 的流程與運作
- 動手寫自己的第一個控制器
- 為動作「新增」一個檢視畫面
補充說明:
- 網頁的「前端與後端」有何差異?
- 路由(Routing)的簡單介紹
- 商業網站使用路由、URL的範例
- 如何使用本課程提供的範例?
1–2 Controller 與 View
- 開啟原有的專案(MVC_Starter)
- 從動作(Action)產生與新增「檢視畫面(View)」
- 檢視畫面(View)的目錄,位於「 /Views/控制器名稱」的目錄下
- 三種方式,執行與觀賞檢視畫面(View)的成果
- 執行成果的「網址」代表什麼意思?
- 簡單介紹,路由(Routing)
- 修改路由的預設值
- 回到控制器,練習 Index1A~1B 這兩個動作,有「動作」卻沒有對應「同名的」檢視畫面,這樣行嗎?
- 輸出字串,練習 Index1C~1D 這兩個動作
- 重新導向
- 控制器的 HandleUnknowAction 方法(注意關鍵字 — override)
- ViewBag、ViewData、 TempData,練習 Index3 動作
- 錯誤示範,練習 Index3A 動作
1–3 Model 與 Class,第一個類別檔
- 加入第一個類別檔
- 類別檔的簡單示範(屬性、Property)
- 自助餐的「餐盤」與類別檔
- 註解符號 // 與 /// 的使用
- 為自己定義的 Class1 小類別,給一個啟始值
- MVC 三者都出現了,綜合練習!
- 搭配類別檔,產生「Details」檢視畫面
- Razor 與表單元件
- 新的寫法與改良。IDE 開發工具出來幫忙。
- 進一步解說檢視畫面,第一列的 @model
- Lambda 的 goto 符號
- 再一次練習,Index4 與 5
- Index5 動作(展示多筆記錄)網站首頁,List 範本
- 課後作業
第二天
2–1 檢視畫面(View)、Razor入門&表單
- Razor入門。範例 Index6
- 網頁裡的「前端」與「後端」技術
- 簡介 Razor 後端語法(以 DateTime 為例)
- Response、字串與整數
- 超連結(Href)、Html.ActionLink
- 字串、特殊符號、Raw、HTML 編碼。範例 Index7
- Form 表單
- Submit、Form 表單內外的 Button 有何差異與變化
- Form 表單(Razor 的 HTML Helper)
- POST 與 GET
- String.Format() 方法、如何查詢字典(關鍵字與 MSDN 範例)
- Razor 的 HTML Helper 與表單(BeginForm)
- TextBox、TexBoxFor…等等
- Lesson2Form 控制器 的 Index11Create 動作(新增一筆記錄,搭配類別檔)
- AntiForgeryToken,防止 CSRF 攻擊
- Label、LabelFor、EditorFor
- MVC 與 Web Form 的差異,以「新增」一筆記錄為例
- 簡介 MVC 的 Model Binding,以「新增」一筆記錄為例
2–2 觀念澄清 與 實作(複習 & 小考)
- Lesson2 控制器的 Index11Create 動作(資料新增,搭配 Model)
- 「資料新增」的檢視畫面 — Html.BeginForm 的各種變化
- Lesson2 控制器的 Index12Create 動作(資料新增,搭配 List 集合)
- Model Binding 的說明(對照以前 WebForm 的 Data Binding)
- 題外話 — 介紹 Telerik 公司為 MVC 打造的控制項
- class(類別)與 List 集合
- 課後複習
- Index13Create動作(資料新增,傳統HTML表單,FormCollection)
- 題外話 — Visual Studio 造成的 Log 檔(可刪除)
第三天
3–1 從資料庫產生 Context、對應的類別檔
- 從微軟官方網站的範例講起
- 安裝 SQL Server 資料庫的範例
- Context,從資料庫轉成類別檔(Code First)
- Model,第一次搭配資料庫(操作步驟)
- ADO.NET 實體資料模型
- 來自資料庫的 Code First
- 第一,資料庫連結字串
- 第二,挑選資料表
- 產生 /Models 目錄下的 Context檔案(.cs檔)
- 重點複習
- /Models 目錄下的 UserTable.cs(對應 UserTable 資料表)
- System.ComponentModel 命名空間
- 觀念解析,沒事搞一個類別檔幹嘛??
- 回到我們熟悉的控制器,搭配資料庫與 Model
- 資料庫連結 & 命名空間 + Model
- 對比微軟官方教學範例,您現在懂了嗎?
3–2 「基礎篇」 — 新增、主表明細(Master-Details)
- **基礎篇**。很重要!請多練習幾次!
- (1)網站首頁(List,列出所有紀錄、資料列表)
- 產生檢視畫面(List範本)
- 重點!檢視畫面 與 @model
- 執行成果,進一步解說 Razor 與檢視畫面
- 課後複習
- (2)網站首頁、主表明細(Detail,單一筆紀錄的明細)
- 四種不同的寫法
- 產生檢視畫面(Detail範本)
- 進一步解說Razor與檢視畫面(幾種不同的寫法)
- 日期與時間(DateTime)的輸出格式
- (3)新增一筆記錄(Create),難度增加一點點。
- 第一個Create動作
- 產生空白的新增表單(檢視畫面,Create 範本)
- Submit 之後,送給第二個 Create 動作來處理
- 第二個 Create 動作,無須產生檢視畫面,只負責處理資料
- 課後複習
3–3 「衍生篇」 — 編輯、刪除、搜尋、分頁
- **衍生篇**
- 先看成果(Delete 的檢視畫面,執行時的錯誤與更正)
- 第二個 Delete 動作跟第一個有何不同?
- 控制器裡面的第一個 Delete 動作 & 產生 Delete 的檢視畫面
- Delete 的檢視畫面,有哪些奧妙?
- 第二個 Delete 動作(不需產生檢視畫面)
- 三種寫法,刪除這一筆記錄
- 課後複習
- Edit 編輯。
- 控制器裡面的第一個 Edit 動作 & 產生 Edit 的檢視畫面
- 先看成果(執行時的錯誤與更正)
- Edit的檢視畫面,有哪些奧妙?
- 總複習,Create / Delete / Edit / Detail 各種動作的檢視畫面,有何差異?
- 第二個 Edit 動作(不需產生檢視畫面)
- [Bind(Include=…白名單…)]、[Bind(Exclude=…白名單…)]黑名單
- 過多發佈(OverPosting)攻擊
- 第二個 Edit 動作(輸入一個物件),程式有兩種寫法
- 另一種「編輯」的寫法 — Edit2。第二個 Edit2 動作(輸入一個 ID 數字),程式有兩種寫法
- 「單一條件」的搜尋,兩種寫法。.Contains() 模糊搜尋與 .Where() 方法
- IQueryable 簡介
- 產生 Search 的檢視畫面(請用 List範本)
- MVC 的路由(Route)
- 「多個」條件的搜尋。(註:難度提升一些)
- 多條件的搜尋,有哪些困難與注意事項?
- 兩個動作,類似 Create(新增)的作法
- 第二個搜尋動作,關鍵程式寫在這裡。兩種寫法。
- 分頁(Paging)。(註:難度提升一些)
- 分頁的原理&寫法。不同的 T-SQL 指令。
- 控制器裡面的 IndexPage 動作(分頁)
- 「補充教材」- ADO.NET 與 MVC
- ADO.NET與參數
- 查詢、讀取記錄,搭配 SQL 指令的 Select
- ADO.NET 與 MVC 裡面的資料庫存取,寫法有何異同?
- 觀察資料庫的操作(查詢、讀取記錄 — Select)
- Web Form 快速開發,以 GridView 為例
- 新增、刪除、修改的 SQL 指令
- MVC 搭配 ADO.NET
- 以 List(網站首頁,資料列表)為例,查詢、讀取記錄 — SQL 指令的 Select
- MVC 的 GridView 控制項?第三方軟體 Telerik
- 新增、刪除、修改的 SQL 指令
- 預告,更多精彩的在後面!
購買課程 https://9vs1.com/go/?i=20d6bc23f633
請輸入七折優惠代碼 xKeXP6p