ASP.NET 專題實務 (I):C# 入門實戰
內容描述
本書特色
✔作者群曾經擔任資策會專任講師,並榮獲2008~2017微軟MVP殊榮,教學與實戰經驗豐富,更有業界實務。
✔市面上最詳細的 ASP.NET Web控制項解說,每一個控制項均有專屬範例,內容超過百頁。
✔每章都有 Case Study與範例程式,以實戰範例、動手作來瞭解理論。
✔深入解說 GridView,五大章內容,破解各種GridView的變化。
✔大量引用Microsoft Doc(微軟MSDN)官方文件,並以連續圖片解說。
✔作者網站(www.dotblogs.com.tw/mis2000lab/)提供售後服務,補充範例源源不絕。
✔提供雙語法範例與教學影片。作者另有七天的遠距教學(完整課程)可搭配書籍進修,需自費。
本書範例
✪一個範例學通 PostBack觀念,瞬間領悟ASP.NET精髓!
✪每一個Web控制項均有專屬範例,包含 Web控制項、驗證控制項,近百頁的詳盡內容。更深入、範例更多。
✪七個範例讓您精通各大控制項該如何修改?動手打造您自己專屬的GridView、ListView、Calendar控制項。
✪GridView合併儲存格、自訂表頭、內建另一個小型GridView(大腸包小腸)、GridView也能新增一筆資料。都是網路上最多人發問,最想知道的解答。
✪ListView與Repeater,以實戰經驗獲取「樣版(Template)」設計精華。搭配jQuery UI前端特效。
✪GrdiView與ListView的光棒效果,加上Master-Detail(主表明細)。
✪強調網站的Master-Detail(主表明細)功能實作,涵蓋電子商務、知識管理、媒體網站各種需求。
✪不需JavaScript也能作Cross-Page Posting(跨網頁公佈、傳值)。
✪專文解說網頁程式的「狀態管理」,Application、Session、Cookie、ViewState一點就通。變數可用「字串」+「流水號」完成批次處理。
✪FileUpload檔案上傳、「多檔案、批次上傳」技巧。
☞【範例檔下載】☜
目錄大綱
CHAPTER 01 本書導讀與ASP.NET介紹
1-1 開發環境與軟體安裝
1-2 ASP.NET與.NET Framework版本沿革
1-3 One ASP.NET
1-4 常見問題:ASP.NET Web Form與MVC如何抉擇?
1-5 開放源碼的ASP.NET Core
1-6 讓舊版Visual Studio升級.NET 4.7x或4.8─Targeting the .NET Framework(多目標套件)
CHAPTER 02 C#基本語法與Visual Studio開發工具
2-1 地表最強開發工具-Visual Studio
2-2 開始用Visual Studio寫網頁程式
2-3 Response物件
2-4 if.判別式
2-5 Select Case(VB)與switch(C#)判別式
2-6 for 計數式迴圈
2-7 while.條件式迴圈
2-8 運算子與運算式
2-9 常用的字串函數與方法
2-10 Page類別與常用的事件
2-11 Web Form簡介與物件導向的關係
CHAPTER 03 Web伺服器控制項
3-1 ASP.NET Web Form震撼教育 ─ PostBack(回傳)
3-2 TextBox文字輸入方塊
3-3 後置程式碼(Code Behind)撰寫與執行
3-4 Case Study:TextBox延伸應用
3-5 Button按鈕控制項,三種不同型態
3-6 事件的sender參數,描述使用者按下哪一個控制項
3-7 Label與Literal標示文字
3-8 Case Study:字串「輸出」格式,String.Format()方法
3-9 HyperLink 超連結
3-10 DropDownList「單選式」的下拉式選單
3-11 ListBox「單/複選」的下拉式選單
3-12 CheckBox與CheckBoxList(複選)
3-13 RadioButton與RadioButtonList(單選題)
3-14 Calendar,日曆控制項
3-15 AdRotator,廣告輪播
3-16 Panel與.Visible屬性(障眼法) ─ 畫面上的魔術師
3-17 PlaceHolder,預留空間以便"動態"加入控制項
3-18 後記
CHAPTER 04 驗證控制項、HTML5與規則運算式(Regular Expression)
4-1 RequireFieldValidator,驗證資料是否空白?
4-2 無法執行驗證控制項,出現錯誤怎麼辦?
4-3 共通的EnableClientScript屬性,前端與後端的驗證?
4-4 CompareValidator,欄位比較
4-5 RangeValidator,數字的有效範圍
4-6 RegularExpressionValidator,公式或規則的驗證
4-7 規則運算式的語言項目
4-8 Regular Expression(規則運算式)的補充範例
4-9 CustomValidator,自己寫程式做驗證
4-10 ValidationSummary,總體驗證
4-11 Case Study:搭配Button的CausesValidation屬性
4-12 ValidationGroup屬性,群組驗證
4-13 HTML5表單驗證,以TextBox控制項為例
CHAPTER 05 基本SQL語法、MS SQL Server與Windows Azure雲端資料庫
5-1 MS SQL Server
5-2 如何使用本書的資料庫&範例
5-3 新增一個「資料表(Table)」並設計欄位
5-4 MS SQL Server資料類型一覽表
5-5 編輯,直接瀏覽Create Table的SQL語法
5-6 開啟資料表,可以直接修改、新增、刪除資料
5-7 T-SQL指令,基礎入門與練習
5-8 AND與OR與NOT的應用 .
5-9 LIKE運算式的應用(模糊搜尋)
5-10 關於Select的其他用法
5-11 新增(Insert Into)
5-12 刪除(Delete)
5-13 修改(Update)
5-14 Microsoft Azure雲端資料庫
5-15 後記
CHAPTER 06 DetailsView與單一記錄的新增、刪除、修改
6-1 程式與資料庫互動的四大步驟
6-2 DetailsView控制項,資料新增、修改與展示
6-3 如何連上SQL Server資料庫?連結字串(ConnectionString)
6-4 SqlDataSource,第一個連結資料庫的程式
6-5 SqlDataSource的參數,避免SQL Injection攻擊
6-6 DetailsView的預設模式(DefaultMode屬性)
6-7 DetailsView與CSS,呈現三欄式的新聞內容
6-8 進階版,自己打造專屬的資料輸入畫面
6-9 後記
CHAPTER 07 初探GridView,展示與報表 ─ ASP.NET功能最強大的控制項
7-1 GridView的第一次接觸
7-2 跟著圖片與說明,一步一步作
7-3 資料來源(DataSource) ─ 連結資料庫
7-4 資料來源(DataSource) ─ SQL指令,存取資料
7-5 自動格式化,修改外觀與配色
7-6 自訂GridView標題、表頭
7-7 自訂文字的資料格式(DataFormatSring)
7-8 GridView的「選取(Select)」按鈕與「光棒效果」
7-9 「分頁」與「排序」功能
7-10 編輯/刪除資料(命令欄位,CommandField)
7-11 PostBack時,網頁固定位置(@Page指示詞的MaintainScrollPosition OnPostback)
7-12 範例與完整程式碼
7-13 GridView資料行(欄位)型別
7-14 GridView自動產生命令按鈕的其他方法
CHAPTER 08 GridView自訂樣板(Template)
8-1 編輯樣板
8-2 GridView自訂樣板的成果
8-3 隔列換色,AlternatingRowStyle
8-4 查無記錄的EmptyDataTemplate與ShowHeaderWhenEmpty屬性
8-5 搭配Calendar(日曆)控制項來修改日期
8-6 搭配清單控制項(如DropDownList或RadioButtonList)來修改、 呈現資料
8-7 .NET 4.5起的新功能 ─ Smart Tasks
8-8 後記
CHAPTER 09 網站Master-Detail功能(主表明細)與SqlDataSource進階技巧
9-1 Case Study(I):同一網頁內,多個控制項互動
9-2 簡單的搜尋引擎(單一欄位)
9-3 Case Study(II):兩個不同網頁,超連結(URL)展示主表明細
9-4 Case Study(III):同一支程式GridView + DetailsView
9-5 Case Study(IV) ─ 同一支程式DropDownList + FormView
9-6 Case Study:北風貿易資料庫 #1,山寨版Dynamic Data網站
9-7 Case Study:北風貿易資料庫 #2(透過SQL指令的Join)
9-8 SqlDataSource與資料庫的預存程序(Stored Procedure)
9-9 後記
CHAPTER 10 GridView的進階功能(1) ─ 從頭到尾自己動手寫程式
10-1 某一列(筆)記錄的「主索引鍵」,.SelectedIndex屬性與.SelectedValue屬性
10-2 資料表有「多個」主索引鍵(Primary Key),GridView的SelectedDataKey.Values集合
10-3 重點!.FindControl()方法,抓取大控制項裡面的「子控制項」
10-4 Case Study:DetailsView新增時,點選Calendar將日期傳入TextBox
10-5 Case Study:GridView+CheckBox,「複選」資料列(批次刪除)
10-6 基礎練習(I):如何觸發GridView編輯模式與RowEditing事件
10-7 基礎練習(II):如何觸發GridView選取模式與光棒效果
10-8 基礎練習(III):手動撰寫GridView分頁
10-9 不同按鈕(CommandName)觸發不同的事件
10-10 Case Study:GridView與DetailsView分頁功能,彼此連動 .
10-11 Case Study:透過GridView修改XML(CRUD功能)
10-12 後記
CHAPTER 11 GridView的進階功能(2) ─ 使用者控制項(User Control)
11-1 「動態」修改GridView外觀(RowCreated與RowDataBound事件)
11-2 Case Study:刪除前出現警告視窗(I),OnClientClick寫在HTML畫面中
11-3 Case Study:刪除前出現警告視窗(II),以後置程式碼"動態"產生
11-4 Case Study:GridView光棒效果
11-5 Case Study:動態設定GridView控制項的欄位寬度
11-6 Case Study:GridView樣板內嵌其他控制項
11-7 使用者控制項(User Control)
11-8 Case Study:大腸包小腸?GridView裡包含一個小GridView?
11-9 資料繫結控制項的資料繫結事件
11-10 補充範例
11-11 後記
CHAPTER 12 ListView控制項 ─ 隨心所欲的樣板之王
12-1 設定ListView
12-2 ListView的11種樣板
12-3 ItemTemplate與AlternatingItemTemplate樣板的差異?
12-4 光棒效果與「選取(Select)」按鈕
12-5 光棒效果與Master-Detail(主表明細)
12-6 編輯資料後,固定位置(MaintainScrollPositionOnPostback)
12-7 GroupItemCount屬性與LayoutTemplate樣板
12-8 ListView與CSS樣式表
12-9 ListView控制項支援的事件
CHAPTER 13 Repeater,網頁報表或展示大量資料
13-1 Repeater的HTML畫面設計
13-2 Case Study(I):動手修改Repeater的樣板
13-3 Case Study(II):隔列換色,AlternatingItem樣板
13-4 Case Study(III):Master-Detail(主表明細)
13-5 Case Study(IV):Repeater + CheckBox批次刪除
13-6 Case Study(V):北風貿易的Repeater訂單,主表明細
13-7 縮減ViewState與樣板中的Panel控制項
13-8 jQuery UI與Repeater,手風琴效果的主表明細
13-9 後記
CHAPTER 14 動手寫程式,實作ADO.NET
14-1 ADO.NET的精髓 ─ DataReader與DataSet
14-2 DataReader
14-3 DataSet(資料集)+ DataAdapter(資料配接器)
14-4 自己動手寫「分頁程式」
14-5 ADO.NET四個學習範本
14-6 深入探索 .NET資料存取
CHAPTER 15 Page類別、HttpRequest與HttpResponse類別與跨網頁張貼
15-1 Page類別
15-2 跨網頁張貼(Cross-Page Posting)
15-3 Page類別的Server物件
15-4 HttpResponse類別(Response)
15-5 HttpRequest類別(Request)
CHAPTER 16 狀態管理
16-1 Application(HttpApplication類別)
16-2 Session,工作階段(HttpSessionState類別)本章重點!
16-3 會員登入、後端管理區的控管(Session版)重點!!
16-4 Global.asax,控制Application與Session的設定檔
16-5 Case Study:網路聊天室
16-6 Cookie(HttpCookie類別)
16-7 Cookie的應用與範例,Expires屬性
16-8 Cookie的安全議題,Secure與HttpOnly屬性
16-9 Case Study:FormsAuthentication與Cookie的綜合應用
16-10 ViewState,檢視狀態
16-11 補充範例,HttpContext的 Items
16-12 後記
CHAPTER 17 資料流I/O、檔案與目錄、壓縮、非同步
17-1 System.IO命名空間
17-2 Stream,寫入與讀取檔案
17-3 File類別,處理檔案的靜態方法
17-4 Binary,讀取和寫入二進位資料到檔案
17-5 FileStream類別、FileMode與FileAccess
17-6 Case Study(I):訪客計數器(圖片版)
17-7 Case Study(II):程式執行中的Log記錄檔
17-8 GZipStream,檔案壓縮與解壓縮
17-9 .NET 4.5起的新功能,非同步檔案I/O
17-10 後記
CHAPTER 18 檔案上傳與FileUpload控制項
18-1 FileUpload控制項與簡單的檔案上傳
18-2 避免上傳檔名重複
18-3 FileUpload的屬性列表
18-4 限制上傳檔案的大小(PostedFile屬性 / HttpPostedFile物件)
18-5 PostedFile屬性的FileContent與Stream物件
18-6 限制上傳檔案的「副檔名」
18-7 限制Server上面存放的目錄
18-8 Case Study:上傳時,檢查目錄是否已建好?
18-9 FileContent屬性
18-10 .NET 4.5起的新功能,多檔上傳
18-11 Case Study:多檔案,批次上傳 .
18-12 上傳檔名需避免的符號、檔名UrlEncode編碼
18-13 IIS與檔案上傳的安全設定
18-14 千變萬化的範例
18-15 後記
作者介紹
周棟祥 博士
現職:國立高雄科技大學 資訊管理學系副教授兼教育事業暨產品推廣處處長
學歷:國立政治大學 資訊管理博士(2004/09~2008/02)
國立中正大學 資訊管理碩士(1999/09~2001/07)
研習:德國阿亨工業大學(RWTH AACHEN University)
新加坡國立大學(National University of Singapore)
新加坡南洋理工大學(Nanyang Technological University)
經歷:企業整合中心主任
研究發展處副研發長
區域產學合作中心主任
研究發展處推廣教育中心主任
研究發展處產學組組長
區域產學合作中心執行長
研究發展處推廣服務及教育組組長
管理學院院長特別助理
中華電信助理研究員
專長領域:服務科學、客戶關係管理、電信營運管理、電子商務、行動服務、工業4.0、物聯網與大數據應用
吳進魯
學歷:國立屏東科技大學 資訊管理研究所碩士
經歷:
(1)1998~2000年為國立屏東科技大學計算機中心、屏東縣教育局舉辦的多場資訊教育訓練擔任講師(授課時數超過250小時)。
(2)國防役四年。資策會各式網站系統開發(七年經驗)、電信產業分析與Internet指標研究工作。
(3)資策會 教育訓練中心(南區)專任講師(專長Web程式設計)。負責600小時之就業輔導班。
(4)星動計畫B2Bi(XML資料交換,採用RosettaNet標準),VB 6.0與MS BizTalk Server系統開發與維護。客戶為國內電子業十大股票上市公司。
(5)任職於國內某資通大廠(全球資訊業百大公司),負責軟體技術規劃與系統整合。
(6)2008/4/1~2017/7/1榮獲MVP(微軟最有價值專家),專長ASP.NET。
(7)2010~2012年台中市電腦公會辦理 行政院勞委會職訓局 產業人才投資計畫,擔任ASP.NET專任講師。2015年起投入線上教學(遠距教學)並提供ASP.NET(WebForm與MVC)教學影片,讓學員線上學習。
著作:
(1)2001至今已出版十多本電腦書籍。網站提供許多PDF電子書,免費分享Linux與ASP.NET知識。
(2)國內第一本推出Mandrake Linux,以及優先採用Visual Studio開發ASP.NET(1.x版)的電腦書作者。兩者均開創了台灣電腦書的新領域,並帶動新風潮。台灣少數自.NET 1.0~ 4.8版均有出書的資深作者,並發行簡體中文版至中國大陸。
(3)台灣第一本.NET 4.0與4.5的中文電腦書作者,4.0版創記錄熱銷八刷。
審稿教授---
郭志良
現職:網柏資訊(負責人)
經歷:微軟MVP(2004~2016)
專長領域:網站開發與設計、軟體專案承接、遠距教學(一對一開班授課)、程式教學(OOP物件導向入門班、進階班)、企業開班與駐點顧問
聯絡信箱:g01.webapp@gmail.com
個人網站:http://www.allenkuo.com/
吳盛 博士
現職:南台科技大學 資訊管理學系 副教授
學歷:國立中山大學 資訊管理博士
經歷:國立中山大學 資訊管理學系兼任講師
國立中山大學 企業管理學系兼任講師
國立屏東科技大學 資訊管理學系兼任講師
國立高雄餐旅學院 通識中心兼任講師
專長領域:資訊管理、知識管理、電子商務
林俊杰 博士
現職:國立台北商業大學 資訊管理系助理教授
學歷:元智大學 資訊管理博士
國立臺灣科技大學 資訊工程系碩士
經歷:國立臺中科技大學資訊管理系專案助理教授(2016/02-2018/7)
元智大學資訊管理系博士後研究(2011/09-2015/12)
星動股份有限公司資深應用工程師(SatrBEX,2004/01-2007/08)
專長領域:醫療資訊、訊號處理、人工智慧、資料探勘
任教科目:程式設計、行動程式、網站應用程式設計、系統分析與設計