ASP.NET 專題實務 (II):進階範例應用, 2/e

ASP.NET 專題實務 (II):進階範例應用, 2/e

作者: 周棟祥 博士 MIS2000 Lab. 吳進魯
出版社: 博碩文化
出版在: 2019-10-30
ISBN-13: 9789864344420
ISBN-10: 9864344420
裝訂格式: 平裝
總頁數: 992 頁





內容描述


編寫本書的主要目的是要給已經學會ASP.NET基礎技能,而想要持續精進、提升能力的專業工程師,是一本具備實戰經驗的進階範例集,內容與範例均大幅改寫,並保留ASP.NET Web Form多版本的相容性,以「實戰經驗」、「務實範例」為主軸,每個範例都是網站必備,且是初學者最想學習的。全書涵蓋重點如下:
✪最詳細的「會員控管」範例,自己動手親自撰寫程式(Session),由淺入深,一應俱全。
✪會員權限控管,從入門的「障眼法」到「PlaceHolder動態加入控制項」。
✪GridView、ListView、DetailsView與FormView四大天王控制項,自己動手寫各種功能。
✪防範資料隱碼(SQL Injection)與XSS(跨網站腳本)攻擊。
✪透過Windows AD登入與網路銀行同級的「CA個人憑證」登入。
✪簡單完成多國語系的網站。MasterPage主版頁面的動態切換。
✪LinqDataSource、ObjectDataSource(商業物件)控制項的深入解說,搭配Class類別檔。
✪自己動手寫首頁、網站增修功能。不需大型控制項,磨練ADO.NET功力。
✪強調網站的Master-Detail(主表明細)涵蓋電子商務、知識管理、媒體網站各種需求。
✪CKEditor超強大的線上HTML輸入畫面。NPOI讓您讀取與輸出Excel檔。
✪網路問卷、線上投票、網路長條圖的應用。ASP.NET Chart(圖表)控制項入門。
✪不可思議的網頁圖表Google Chart + JavaScript與ASP.NET整合。
✪「全自動化投票」範例即裝即用。「動態問卷產生器」可自行搭配題型(單、複選、文字輸入)。
✪北風貿易系統、線上飲料訂購系統,一個畫面完成關聯式訂單、購物車。
✪OutputCache網頁輸出快取,輕而易舉提升網頁效能。
✪One ASP.NET,Web Form的Model Binding。

☞【範例檔下載】☜


目錄大綱


CHAPTER 01 MasterPage(主版頁面)
1-1 HTML網頁的頁框(frameset)
1-2 MasterPage主版頁面(.master檔)
1-3 使用MasterPage設計網頁
1-4 自動切換手機版MasterPage(.Mobile.master)
1-5 透過程式,動手存取MasterPage裡面的控制項
1-6 @MasterType指示詞,MasterPage的公開屬性
1-7 MasterPage與.FindControl()方法
1-8 MasterPage搭配FileUpload(檔案上傳)的技巧
1-9 透過程式,手動切換多個MasterPage檔案
1-10 巢狀(Nest)MasterPage
1-11 MasterPage與JavaScript、jQuery的搭配
CHAPTER 02 巡覽(Navigator)控制項與多國語系─Menu、TreeView、SiteMapPath
2-1 何謂Menu、TreeView、SiteMapPath?
2-2 Web.Sitemap檔案解析
2-3 SiteMapDatasource控制項
2-4 Case Study (I):動態變更巡覽內容與.sitemap檔
2-5 Case Study (II):寫程式抓取.sitemap檔各節點的屬性
2-6 Case Study (III):抓取此一節點底下是否還有子節點?
2-7 Case Study (IV):自建XML檔並搭配XmlDataSource自動產生節點
2-8 Case Study (V):搭配資料庫自動產生節點
2-9 多國語系與資源檔(.resx檔)
2-10 Case Study (VI):FormsAuthentication與Cookie的綜合應用
2-11 Case Study (VII):Menu控制項、MenuItem(功能表項目)與資料庫
CHAPTER 03 Theme(佈景主題)與Skin(面板)
3-1 控制項的Skin範本
3-2 佈景主題(Theme)
3-3 沿用既有的Skin面板檔案
3-4 搭配CSS樣式表
3-5 Case Study:動態改變佈景主題(Theme)
CHAPTER 04 商務物件與資料存取層ObjectDataSource控制項
4-1 ObjectDataSource控制項
4-2 ObjectDataSource的操作步驟
4-3 自己撰寫後置程式碼的ObjectDataSource
4-4 TableAdapter概觀
4-5 Case Study (I):ObjectDataSource主表明細(Master-Detail)
4-6 Case Study (II):中介層商務物件與ObjectDataSource控制項互動
4-7 Case Study (III):自訂商業物件(Class & XML)搭配ObjectDataSource
4-8 Case Study (IV):自訂商業物件(類別&強型別來源物件)
CHAPTER 05 DataBinding(資料繫結)
5-1 網頁程式連結資料庫的四大步驟
5-2 DataBinding(資料繫結)的革命
5-3 Code Behind,自己寫程式控管DataBinding的時機
5-4 GridView可「新增」?透過程式控制EmptyDataTemplate
5-5 DataBinding應用 (I):與Page.IsPostBack的關聯
5-6 DataBinding應用 (II):餐廳的點菜系統
5-7 DataBinding應用 (III):新增、修改、刪除
5-8 DataBinding應用 (IV):GridView內嵌DropDownList
5-9 FAQ常見問題與觀念釐清
5-10 Gridview的RowUpdating事件其他作法─e.NewsValues與IBindableTemplate介面
CHAPTER 06 DataBinding Expression,資料繫結運算式
6-1 樣板欄位的DataBinding Expression(繫結運算式)
6-2 Case Study (I):DetailsView與FormView文章換行換列?分段落?
6-3 Case Study (II):大型控制項樣板內的Calendar與DateTime
6-4 Eval與Bind的用法與異同
6-5 Repeater的樣板+HyperLink控制項
6-6 JavaScript的window.Open()與資料繫結運算式
6-7 Case Study (III):自己撰寫DataBinding Expression
6-8 資料繫結運算式的其他用法
6-9 單一數值(Single-Value)與重複數值(Repeated-Values)的資料繫結
6-10 Case Study (IV):成績不及格就出現警告
6-11 Case Study (V):GridView的加總與小計
6-12 補充範例:PreRender事件,在控制項出現在網頁「之前」就處理
CHAPTER 07 檔案上傳與資料庫的綜合範例
7-1 Case Study (I):ListView+FileUpload圖片式、棋盤式首頁
7-2 Case Study (III):fancybox的圖片效果(燈箱、圖層)
7-3 Case Study (IV):jQuery呈現多媒體檔案(fancybox)
7-4 Case Study (V):圖片(二進位)存入資料表,透過IO Stream處理
7-5 .ashx檔(泛型處理常式)範例與解說
7-6 Case Study(VI):圖片(二進位)存入資料表,FileContent與FileBytes屬性
7-7 將檔案放入資料庫的缺點& FILESTREAM設定步驟
CHAPTER 08 GridView匯出Excel檔與NPOI Library
8-1 傳統的作法(不建議使用)
8-2 輸出Excel檔,為何不建議上述傳統方法?
8-3 NPOI Library存取Excel檔案
8-4 在Visual Studio安裝NPOI Library
8-5 產生空白Excel,並添加三個試算表(Sheet)
8-6 寫入資料,放在Excel內的儲存格
8-7 將資料庫的紀錄,逐筆寫入Excel檔
8-8 凍結窗格(凍結、鎖定Excel欄位)
8-9 修改Excel儲存格的格式與加入公式
8-10 修改Excel儲存格的底色
8-11 上傳Excel檔案,讀取後寫入資料庫(批次上傳大量數據)
8-12 Excel欄位裡面有「公式」,如何取得「運算後的"值"」?
8-13 Excel版本只支援2003?NPOI其他問題?
8-14 Case Study:讀取Excel檔之後,繼續加入新的資料?
8-15 補充範例,GridView輸出各種格式(PDF、XML等)
CHAPTER 09 ADO.NET動手寫,主表明細(Master-Detail),首頁/留言版
9-1 Master—網站首頁
9-2 Master─網站首頁(改良版)
9-3 Master─網站首頁(搭配美工網頁)
9-4 Details─展現一筆紀錄的細部內容& SQL Injection攻擊
9-5 設定參數和參數資料型別(ADO.NET)
9-6 文章的留言功能(關聯式資料表)
9-7 自己動手寫出「分頁」程式
CHAPTER 10 線上問卷、自動化投票區、HTML長條圖
10-1 簡單投票 (I):計算每個候選人的總得票數
10-2 簡單投票 (II):每一票都是一筆記錄
10-3 Case Study:自動化投票
10-4 直立式長條圖
10-5 線上測驗系統(答題後,立即知道分數)
CHAPTER 11 自動化投票區(動態產生畫面&控制項)
11-1 觀念解析與構思、資料表的設計
11-2 PlaceHolder控制項與畫面設計
11-3 第一個Question_M資料表,問卷主題
11-4 Question_D1資料表,每一題(單選、複選、文字輸入)
11-5 如何抓取「動態產生」的控制項,被人填寫後的「值」?
11-6 小結
CHAPTER 12 網頁圖表—ASP.NET Chart控制項與Google Chart
12-1 ASP.NET Chart控制項,自動產生統計圖表
12-2 SQL指令的「扭轉」,PIVOT與UNPIVOT
12-3 Case Study:微軟MSDN範例
12-4 Case Study:Chart控制項轉成PDF、圖片檔
12-5 Google Chart,強大、簡單的JavaScript圖表API
12-6 ClientScriptManager類別—透過後置程式碼,撰寫JavaScript
12-7 ADO.NET將資料庫的數據變成Google Chart圖表
12-8 補充範例:其他網頁圖表產生器
CHAPTER 13 會員登入、後端管理區的權限管理(I)─使用Session
13-1 會員資料庫的設計
13-2 會員登入(會員專屬區)
13-3 每一支後端程式的保全人員,Include file與defense.aspx
13-4 Case Study (I):會員登入才能看見文章列表(GridView控制項+超連結)
13-5 Case Study (II):修改某位會員發表的文章(FormView控制項)
13-6 Case Study (III):唯有特定權限,才能修改資料
13-7 Case Study (IV):區分「編輯」與「刪除」的使用者權限
13-8 Case Study (V):區分「編輯」與「刪除」的使用者權限,障眼法與DataBinding Expression
13-9 Case Study (VI):密碼過期(定期更新密碼)&新密碼不跟舊的重複
13-10 Case Study (VII):註冊後,透過E-Mail啟動會員權益
13-11 Case Study (VIII):網頁的虛擬鍵盤
13-12 EnableSessionState屬性,讓ASP.NET效能更好
CHAPTER 14 會員登入、後端管理區的權限管理(II)─GridView的RowCreated與RowDataBound事件
14-1 唯有本人可修改 (I)─障眼法、.FindControl()方法
14-2 唯有本人可修改 (II)─動態加入命令欄位,PlaceHolder控制項
14-3 同一筆記錄的某些欄位可編輯?唯讀?
CHAPTER 15 會員登入─MD5與SHA1雜湊與資料保護(System.Security.Cryptography命名空間)
15-1 MD5雜湊演算法,進行密碼保護
15-2 Case Study (I):將會員的密碼,透過MD5雜湊處理
15-3 Case Study (II):SHA1演算法
15-4 RSA演算法,雙向加/解密(僅供參考)
CHAPTER 16 FormsAuthentication與Cookie、Windows AD驗證(Active Directory網域服務)、個人CA憑證
16-1 FormsAuthentication與Cookie的綜合應用
16-2 Active Directory網域服務驗證(Windows AD帳號登入)
16-3 DirectoryEntry與DirectorySearcher類別
16-4 個人CA憑證,網路銀行與線上交易
16-5 網站如何申請SSL(https)
CHAPTER 17 如何寫出安全的ASP.NET與注意事項
17-1 指令碼攻擊
17-2 防範惡意的指令碼
17-3 可能遭受攻擊的HTML標籤,XSS攻擊
17-4 避免提供太多的錯誤訊息
17-5 縮減帳號的權限,越小越安全
17-6 如何設定安全密碼並增加密碼強度?
CHAPTER 18 Microsoft Anti-XSS Library與跨網站腳本攻擊
18-1 安裝最新的Microsoft Anti-XSS Library
18-2 AntiXSS編碼方式與修正Web.Config的預設編碼
18-3 不同命名空間的.HtmlEncode()方法
18-4 .UrlEncode()與.UrlPathEncode()方法
18-5 Anti-XSS Library的Sanitize類別
CHAPTER 19 自訂「資料新增」畫面/CKEditor線上網頁編輯器
19-1 透過SqlDataSource精靈,不需寫程式
19-2 實力扎根!自己手寫DataSet+DataAdapter後置程式碼
19-3 Case Study (I):當心SQL Injection攻擊
19-4 Case Study (II):新增一筆資料後,取得自動識別id(Primary Key)
19-5 線上HTML編輯器,CKEditor
19-6 Case Study (III):新增紀錄順便檔案上傳,FormView+FileUpload
CHAPTER 20 北風貿易Master-Detail關聯式訂單一頁搞定
20-1 關聯式資料表之間的「關係」
20-2 訂單系統的報表功能(不用寫程式)
20-3 訂單系統的新增資料
20-4 Case Study:一氣呵成的訂單系統(資料新增)
CHAPTER 21 泡沫紅茶線上訂購系統(另一種購物車,自訂資料庫)
21-1 設計概念與工作流程
21-2 系統執行畫面與流程
21-3 設計資料表
21-4 HTML設計畫面(訂單主檔,Master部份)
21-5 訂單明細的Detail部份 (I):挑選飲料
21-6 訂單明細的Detail部份 (II):確認飲料的糖份、冰塊量
21-7 訂單明細的Detail部份 (III):每次輸入完成,GridView展示最新狀態
21-8 如何確定訂單已完成(可出貨)?
CHAPTER 22 LinqDataSource控制項與DataContext類別
22-1 單一資料表
22-2 LinqDataSource與SqlDataSource的HTML標籤,差異在哪?
22-3 關聯式資料表(留言版的功能)
22-4 LinqDataSource類別
22-5 進階!自己動手寫LINQ程式
22-6 Case Study:自己撰寫Class作為資料來源,搭配LINQ
22-7 LINQ-to-SQL的分頁,Skip與Take函式
22-8 LINQ基礎語法(線上閱讀與補充文章)
CHAPTER 23 Model Binding與Web Form
23-1 第一個Model Binding程式(Web Form)
23-2 修改版,Model Binding與ADO.NET
23-3 Case Study:搜尋引擎,簡單的Model與類別檔
23-4 Model Binding、ADO.NET分頁與技巧改善
23-5 微軟MSDN範例:Model Binding與ASP.NET Web Forms
23-6 Model Binding與非同步(Async.)
23-7 Model Binding與Repository
23-8 常見問題:ASP.NET Web Form與MVC如何抉擇?
CHAPTER 24 ASP.NET輸出快取、OutputCache與PartialCachingAttribute類別
24-1 ASP.NET快取概論
24-2 網頁輸出快取,@OutputCache指示詞
24-3 相同內容進行快取,VaryByParam屬性
24-4 相同內容進行快取,VaryByControl屬性
24-5 @OutputCache指示詞的屬性與介紹
24-6 SqlDependency屬性,將@OutputCache搭配SQL Server
24-7 使用者控制項(User Control)的輸出快取,PartialCachingAttribute類別
24-8 Case Study (IV):使用者控制項(User Control)搭配OutputCache
CHAPTER 25 Visual Studio「專案」與「網站」之異同、IIS網站部署
25-1 Visual Studio的「專案」與「網站」有何不同?
25-2 安裝與測試IIS(Web Server環境)
25-3 Visual Studio的「專案」與IIS部署
25-4 IIS的移難排除
25-5 Visual Studio的「網站」與IIS部署
25-6 網站上線前的基本觀念


作者介紹


周棟祥 博士
現職:國立高雄科技大學 資訊管理學系副教授兼教育事業暨產品推廣處處長
學歷:國立政治大學 資訊管理博士(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專任講師。
(8)2015年起投入線上教學(遠距教學)並提供ASP.NET(WebForm與MVC)教學影片,讓學員線上學習。
審稿教授---
吳盛 博士
現職:南台科技大學 資訊管理學系 副教授
學歷:國立中山大學 資訊管理博士
經歷:國立中山大學 資訊管理學系兼任講師
   國立中山大學 企業管理學系兼任講師
   國立屏東科技大學 資訊管理學系兼任講師
   國立高雄餐旅學院 通識中心兼任講師
專長領域:資訊管理、知識管理、電子商務




相關書籍

C#程序設計教程(第5版)

作者 劉甫迎

2019-10-30

猛虎再臨!MTA Java 國際專業認證 (Microsoft Exam:98-388)

作者 段維瀚

2019-10-30

Java SE 17 基礎必修課 (適用Java 17~10,涵蓋ITS Java國際認證)

作者 蔡文龍 何嘉益 張志成 張力元 吳明哲 策劃

2019-10-30