ASP.NET 專題實務II:進階範例應用

ASP.NET 專題實務II:進階範例應用

作者: MIS2000 Lab. 周棟祥博士 吳進魯
出版社: 博碩文化
出版在: 2018-04-27
ISBN-13: 9789864342914
ISBN-10: 9864342916
總頁數: 976 頁





內容描述


編寫本書的主要目的是要給已經學會ASP.NET基礎技能,而想要持續精進、提升能力的專業工程師,是一本具備實戰經驗的進階範例集,全書涵蓋重點如下:
★最詳細的「會員控管」範例,自己動手親自撰寫程式(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 補充範例,Gr idView 輸出各種格式(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 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 自訂「資料新增」畫面 / CKEdit
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 網站上線前的基本觀念


作者介紹


周棟祥 博士
現職:國立高雄第一科技大學 資訊管理學系 副教授
學歷:國立政治大學 資訊管理博士
經歷:
‧區域產學合作中心 執行長
‧研究發展處 產學合作組組長、推廣服務及教育組組長
‧管理學院 院長特別助理
‧中華電信研究所 助理研究員
專長:
‧B2B與B2C之電子商務規劃設計與應用
‧Web Service技術之應用及分散式元件DCOM與COM+程式設計
‧Microsoft .NET之程式設計、開發與應用
‧XML轉換技術與應用、Web程式設計與Web Chart應用分析
‧熟悉C#、VB.NET、C、JAVA、Assembly、Pascal等程式語言與開發資訊系統
‧網頁技術(如ASP.NET)與資料庫開發應用(如SQL SERVER、ORACLE)
‧服務科學與知識管理與應用
‧商業智慧與資料倉儲架構研究

吳進魯
學歷:國立屏東科技大學 資訊管理研究所碩士
經歷:
‧1998~2000年為國立屏東科技大學計算機中心、屏東縣教育局舉辦的多場資訊教育訓練擔任講師(授課時數超過250小時)。
‧資策會各式網站系統開發(七年經驗)、電信產業分析與Internet指標研究工作。教育訓練中心(南區)專任講師(專長Web程式設計)。
‧星動計畫B2Bi(XML資料交換,採用RosettaNet標準) ,VB 6.0與 MS BizTalk Server系統開發與維護。客戶為國內電子業十大股票上市公司。
‧任職某資通訊大廠(全球資訊業百大公司)技術經理,軟體技術規劃與系統整合。
‧2008~2017/7/1年MVP(微軟最有價值專家),專長ASP.NET。
‧2010~2015年台中市電腦公會辦理 行政院勞委會職訓局 產業人才投資計畫,ASP.NET專任講師。
 
審稿教授:吳 盛 博士
現職:南台科技大學 資訊管理學系 副教授
學歷:國立中山大學 資訊管理博士




相關書籍

Tomcat: The Definitive Guide, 2/e (Paperback)

作者 Jason Brittain Ian F. Darwin

2018-04-27

Quick Start Guide to JavaFX (Paperback)

作者 J.F. DiMarzio

2018-04-27

從零開始! Microsoft Visual C# 2017 程式設計入門

作者 洪國勝

2018-04-27