本書結合教學特點進行編寫,全面講述ASP.NET網站開發技術。全書共分為17章,內容包括搭建ASP.NET 4.5開發環境、Web窗體結構和常用頁面指令、內置請求和處理對象、使用導航控件和母版頁模板、驗證控件、ADO.NET數據庫編程、數據綁定、GridView、文件上傳與下載以及分頁實現等,介紹了ASP.NET 4.5的高級開發技術,使用LINQ to SQL操作數據庫、Ajax無刷新頁面、創建Silverlight和WCF程序、MVC 4的簡單應用。*后介紹了ASP.NET的配置文件以及發布網站的方法。本書示例短小卻能體現出知識點,讀者能輕松地學習,并靈活地應用到實際的軟件項目中去。
本書可作為在校大學生學習使用ASP.NET進行課程設計的參考資料,也可以作為高等院校相關專業的教學參考書。
本書中的大量內容來自實際的開發項目,而且針對初、中級讀者量身訂做,由淺入深地介紹與ASP.NET有關的知識。本書具有以下特色。 1)知識全面,內容豐富 本書緊緊圍繞ASP.NET中常用的知識點展開講解,涵蓋了實際開發中遇到的頁面指令、控件編程、頁面機制、數據庫以及MVC框架等方面的特點問題。 2)基于理論,注重實踐 本書不僅介紹理論知識,而且在合適位置安排綜合應用實例或者小型應用程序,將理論知識應用到實踐當中,加強讀者實際應用能力,鞏固系統基礎知識。另外,還將一些概念和術語放到文檔中,以方便讀者了解。 3)隨書配套資料 本書為實例配備了視頻教學文件,讀者可以通過視頻文件更加直觀地學習與ASP.NET有關的技術知識。 4)網站技術支持 讀者在學習或者工作的過程中,如果遇到實際問題,可以直接登錄www.ztydata.com與我們取得聯系,作者會在*時間內給予幫助。
序言
ASP.NET是目前微軟最新的Web應用開發平臺,ASP.NET 4.5不僅在語言和技術上彌補了原有ASP.NET 2.0的不足,還提供了很多新的控件和特色以提升開發人員的生產力。與之相應,Visual Studio 2012除了保持與Visual Studio舊版本相同的特點之外,也提供了大量新的特色幫助提升開發人員的編程效率。 本書以Visual Studio 2012為環境介紹ASP.NET 4.5技術的開發與使用,從實用和實際的角度,深入淺出地分析該技術的各個要點。例如,創建ASP.NET 4.5應用程序的方法、Web窗體與網站的區別、內置對象、數據綁定和驗證等,同時對新增的MVC 4、WCF、Silverlight也有所介紹。 本書內容 全書共分為17章,主要內容如下。 第1章 搭建ASP.NET 4.5的開發環境。本章首先介紹什么是.NET Framework、ASP.NET的發展歷史及ASP.NET 4.5的簡介,然后介紹如何安裝VS 2012并創建一個ASP.NET應用程序。 第2章 ASP.NET Web窗體頁。本章介紹Web窗體與網站之間的區別,Web窗體的運行過程,重點講解常用的ASP.NET頁面指令。 第3章 Web服務器控件。本章詳細介紹ASP.NET中服務器控件的類型和共有屬性,常用控件及其應用。 第4章 頁面請求與響應對象。本章重點介紹ASP.NET中與頁面請求與響應相關的對象,分別是Page、Response、Request和Server。 第5章 數據保存對象。本章重點介紹ASP.NET中與保存頁面數據有關的對象,分別是Application、Session、Cookie和ViewState。 第6章 站點導航控件。本章詳細介紹使用站點地圖和XML文檔定義頁面邏輯結構,以及站點導航控件的使用。 第7章 使用母版頁。本章主要介紹母版頁的使用、主題的使用、用戶控件的創建和使用。 第8章 驗證用戶輸入的有效性。本章主要介紹ASP.NET中的驗證控件,即如何使用驗證控件對用戶輸入的數據進行有效性和安全性驗證。 第9章 ADO.NET進行數據庫編程。本章首先介紹ADO.NET的概念,然后重點對其中的對象進行講解,包括使用Connection、Command和DataAdapter等對象進行數據庫編程。 第10章 數據綁定技術。本章首先簡單介紹操作數據時常用的一些綁定方式,然后重點介紹ASP.NET提供的數據源控件和數據綁定控件,如SqlDataSource、Repeater和GridView等。 第11章 LINQ數據處理。本章主要介紹LINQ的組成部分、各子句的應用以及LINQ to SQL操作數據庫的方法。 第12章 高級技術應用。本章主要介紹一些ASP.NET高級開發技術,如文件上傳和下載、文件和目錄操作、第三方分頁和驗證控件等。 第13章 Ajax技術。本章主要介紹Ajax技術,包括Ajax技術的基礎知識、內置的Ajax控件和jQuery技術的應用等。 第14章 Silverlight入門。本章簡單介紹了Silverlight的使用,包括Silverlight的概念,創建一個Silverlight應用程序的過程、XAML以及與瀏覽器的交互方法。 第15章 ASP.NET MVC 4框架。本章主要介紹ASP.NET MVC 4應用程序的創建方法、MVC 4應用程序的組成元素及其運行流程。 第16章 WCF入門。本章簡單介紹WCF的概念、核心元素及WCF程序的創建方法,最后介紹防盜鏈的實現。 第17章 配置和部署ASP.NET網站。本章主要對ASP.NET配置文件Web.Config的結構進行詳解,同時介紹了發布和復制網站的方法。 本書特色 本書針對初、中級用戶量身訂做,由淺入深地講解ASP.NET開發動態網站的應用。本書采用大量的范例進行講解,力求通過實際操作使讀者更容易地使用ASP.NET開發Web應用程序。? 知識點全面 本書緊緊圍繞ASP.NET的基礎知識開發展開講解,具有很強的邏輯性和系統性。另外,還將介紹基于ASP.NET開發的LINQ、Ajax、MVC和Silverlight技術。? 實例豐富 書中各范例和綜合實驗案例均經過作者精心設計和挑選,它們大多數都是根據作者在實際開發中的經驗總結而來,涵蓋了在實際開發中所遇到的各種場景。? 應用廣泛 對于精選案例,給出了詳細步驟,結構清晰簡明,分析深入淺出,而且有些程序能夠直接在項目中使用,避免讀者進行二次開發。? 基于理論,注重實踐 本書不僅介紹理論知識,而且還介紹過程。在章節的合適位置安排綜合應用實例或者小型應用程序,將理論應用到實踐當中,來加強讀者實際應用能力,鞏固開發基礎和知識。? 網站技術支持 讀者在學習或者工作的過程中,如果遇到實際問題,可以直接登錄www.ztydata.cn與我們取得聯系,作者會在第一時間內給予幫助。 讀者對象 本書可作為在校大學生學習使用ASP.NET進行課程設計的參考資料,也適合作為高等院校相關專業的教學參考書,還可以作為非計算機專業學生學習ASP.NET語言的參 考書。 除了封面署名人員之外,參與本書編寫的人員還有李海慶、王詠梅、康顯麗、王黎、湯莉、倪寶童、趙俊昌、方寧、郭曉俊、楊寧寧、王健、連彩霞、丁國慶、牛紅惠、石磊、王慧、李衛平、張麗莉、王丹花、王超英、王新偉等。在編寫過程中難免會有漏洞,歡迎讀者通過清華大學出版社網站www.tup.tsinghua.edu.cn與我們聯系,幫助我們改正提高。
編 者
第1章 搭建ASP.NET 4.5的開發環境11.1 .NET Framework概述11.1.1 .NET Framework的組件11.1.2 了解.NET Framework 4.521.2 ASP.NET概述31.2.1 發展歷史31.2.2 開發工具41.2.3 特色優勢51.2.4 了解ASP.NET 4.551.3 Visual Studio概述61.3.1 發展歷史61.3.2 開發版本71.3.3 了解VS 201271.4 安裝VS 201281.4.1 準備工作81.4.2 安裝步驟91.4.3 認識界面111.5 實驗指導創建ASP.NET Web窗體應用程序14思考與練習16
第2章 ASP.NET Web窗體頁182.1 Web應用程序和網站182.1.1 新建Web應用程序182.1.2 新建Web網站202.1.3 比較Web應用程序和Web網站212.2 Web窗體頁222.2.1 Web窗體頁的特點222.2.2 Web窗體頁的元素222.2.3 Web窗體頁的運行過程232.2.4 認識Web窗體頁242.3 ASP.NET的頁面指令252.3.1 @Page指令252.3.2 @Control指令252.3.3 @Register指令262.3.4 @Master指令262.3.5 @MasterType指令262.3.6 @Import指令272.3.7 @Implements指令272.3.8 @Reference指令272.3.9 @Assembly指令272.3.10 @OutputCache指令282.3.11 @PreviousPageType指令28思考與練習28
第3章 Web服務器控件303.1 服務器控件基礎303.1.1 服務器控件概述303.1.2 服務器控件分類313.1.3 服務器控件公共屬性323.2 文本控件333.2.1 Label控件333.2.2 Literal控件343.2.3 TextBox控件353.2.4 HyperLink控件363.3 按鈕控件383.3.1 Button控件383.3.2 LinkButton控件393.3.3 ImageButton控件393.4 選項控件393.4.1 RadioButton控件403.4.2 RadioButtonList控件403.4.3 CheckBox控件413.4.4 CheckBoxList控件423.5 列表控件443.5.1 DropDownList控件453.5.2 BulletedList控件453.5.3 ListBox控件483.6 容器控件503.6.1 Panel控件503.6.2 MultiView控件513.7 其他控件513.7.1 圖片顯示控件513.7.2 圖片響應控件523.7.3 日歷控件543.7.4 廣告控件553.8 實驗指導常識調查頁面56思考與練習58
第4章 頁面請求與響應對象594.1 Page對象594.1.1 Page對象的屬性594.1.2 Page對象的方法624.1.3 Page對象的事件634.2 Response對象634.2.1 Response對象的屬性634.2.2 Response對象的方法644.3 Request對象674.3.1 Request對象的屬性674.3.2 Request對象的方法714.4 Server對象724.4.1 Server對象的屬性724.4.2 Server對象的方法724.5 實驗指導在窗體頁繪制并輸出圖像數據75思考與練習78
第5章 數據保存對象805.1 Application對象805.1.1 Application對象的屬性805.1.2 Application對象的方法815.1.3 使用Application的事件845.2 Session對象855.2.1 Session對象概述855.2.2 Session對象的屬性865.2.3 Session對象的方法875.3 實驗指導用戶的安全登錄和退出885.4 Cookie對象915.4.1 Cookie對象概述915.4.2 Cookie對象的屬性935.5 實驗指導Cookie對象實現免登錄945.6 ViewState對象965.6.1 ViewState對象概述975.6.2 使用ViewState對象97思考與練習100
第6章 站點導航控件1026.1 導航1026.1.1 導航控件1026.1.2 站點地圖1026.2 SiteMapPath控件1056.3 TreeView控件1066.3.1 TreeView簡介1066.3.2 TreeView簡單應用1076.3.3 TreeNode對象1116.3.4 TreeView樣式1136.4 Menu控件1146.5 實驗指導男褲選購頁面116思考與練習118
第7章 使用母版頁1197.1 母版頁1197.1.1 母版頁概述1197.1.2 添加內容頁1207.2 實驗指導內容頁與母版頁的結合1227.3 主題1247.3.1 主題與外觀文件1247.3.2 主題的創建1267.4 實驗指導主題切換1287.5 用戶控件1317.5.1 用戶控件概述1317.5.2 創建用戶控件1327.5.3 ASP.NET用戶控件轉換133思考與練習134
第8章 驗證用戶輸入的有效性1368.1 常用的數據驗證技術1368.1.1 基于圖片和附加碼的驗證1368.1.2 Web表單數據驗證1378.1.3 Web窗體頁數據驗證1378.1.4 客戶端腳本驗證1378.1.5 使用正則表達式進行數據驗證1378.2 基礎驗證控件1378.2.1 必填驗證控件1388.2.2 比較驗證控件1408.2.3 范圍驗證控件1448.2.4 正則表達式驗證控件1458.2.5 自定義驗證控件1478.3 錯誤驗證匯總控件1508.4 實驗指導ValidationGroup屬性實現分組驗證152思考與練習155
第9章 ADO.NET進行數據庫編程1579.1 ADO.NET概述1579.2 SqlConnection對象1589.2.1 創建SqlConnection對象1589.2.2 SqlConnection對象的屬性1599.2.3 SqlConnection對象的方法1609.3 SqlCommand對象1609.3.1 創建SqlCommand對象1619.3.2 SqlCommand對象的屬性1619.3.3 SqlCommand對象的方法1629.4 SqlParameter對象1639.4.1 創建SqlParameter對象1639.4.2 SqlParameter對象的屬性1639.5 實驗指導在數據庫表中添加記錄1649.6 SqlDataReader對象1679.6.1 創建SqlDataReader對象1679.6.2 SqlDataReader對象的屬性1679.6.3 SqlDataReader對象的方法1689.7 實驗指導讀取數據庫表中的記錄1689.8 DataSet對象1709.8.1 DataSet工作原理1709.8.2 創建DataSet對象1719.8.3 DataSet對象的屬性1719.8.4 DataSet填充數據1719.8.5 DataSet與SqlDataReader的區別1729.9 SqlDataAdapter對象1739.9.1 創建SqlDataAdapter對象1739.9.2 SqlDataAdapter對象更新數據1739.10 其他常用對象1759.10.1 DataTable對象1759.10.2 DataView對象1769.11 實驗指導創建公用的幫助類178思考與練習181
第10章 數據綁定技術18310.1 常見的數據綁定18310.1.1 <%= %>方式綁定18310.1.2 <%# %>方式綁定18410.1.3 <%$ %>方式綁定18610.2 數據控件18610.2.1 數據源控件18610.2.2 數據綁定控件18910.3 Repeater控件19010.3.1 Repeater控件的模板19010.3.2 Repeater控件的屬性19210.3.3 Repeater控件的事件19310.4 DataList控件19610.4.1 DataList控件的模板19610.4.2 DataList控件的屬性19610.4.3 DataList控件的事件19910.4.4 自動套用格式20010.5 實驗指導PagedDataSource類實現分頁20110.6 GridView控件20410.6.1 GridView控件的功能20510.6.2 GridView控件的模板20510.6.3 GridView控件的字段20610.6.4 GridView控件的屬性20810.6.5 GridView控件的事件21210.7 實驗指導GridView控件查看和刪除數據21510.7.1 查看數據21510.7.2 刪除數據218思考與練習219
第11章 LINQ數據處理22011.1 LINQ概述22011.1.1 LINQ類型22011.1.2 LINQ查詢語句解析22211.2 LINQ to Object22311.2.1 了解LINQ子句22311.2.2 FROM子句22411.2.3 SELECT子句22511.2.4 WHERE子句22711.2.5 ORDERBY子句22811.2.6 GROUP子句22911.2.7 JOIN子句23011.3 LINQ to SQL23511.3.1 對象關系設計器簡介23511.3.2 DataContext類簡介23711.3.3 SubmitChanges()方法簡介23911.3.4 插入數據23911.3.5 更新數據24011.3.6 刪除數據24111.4 實驗指導多表關聯查詢242思考與練習244
第12章 高級技術應用24512.1 文件上傳與下載24512.1.1 文件上傳24512.1.2 文件下載24912.2 文件操作25212.2.1 獲取文件基本信息25212.2.2 判斷文件是否存在25312.2.3 創建文件25312.2.4 刪除文件25412.2.5 移動文件25412.2.6 復制文件25512.3 目錄操作25612.3.1 獲取目錄基本信息25612.3.2 判斷目錄是否存在25712.3.3 創建目錄25712.3.4 刪除目錄25812.3.5 遍歷目錄25812.4 第三方控件25912.4.1 分頁控件26012.4.2 驗證碼控件26312.5 實驗指導WebSocket發送消息264思考與練習267
第13章 Ajax技術26913.1 Ajax技術簡介26913.2 ScriptManager控件27013.2.1 ScriptManager簡介27013.2.2 ScriptManager應用27113.3 UpdatePanel控件27513.3.1 UpdatePanel簡介27513.3.2 UpdatePanel異步更新27613.3.3 異步回發中的應用限制27813.3.4 UpdateProgress28013.4 Timer控件28113.5 實驗指導圖片的定時切換28113.6 jQuery28313.6.1 jQuery簡介28413.6.2 jQuery選擇器28513.6.3 jQuery 事件28613.6.4 jQuery特效287思考與練習288
第14章 Silverlight入門28914.1 Silverlight概述28914.1.1 Silverlight簡介28914.1.2 Silverlight結構29114.1.3 與WPF的比較29214.2 實驗指導創建第一個Silverlight應用程序29314.3 了解XAML29614.3.1 XAML簡介29714.3.2 XAML語法規則29714.3.3 XAML命名空間29814.3.4 XAML后臺文件29914.4 與瀏覽器交互30014.4.1 調用HTML頁面30014.4.2 調用Silverlight30214.5 實驗指導創建脫離瀏覽器的桌面應用程序30514.6 實驗指導實現一個簡易時鐘30714.7 實驗指導操作剪切板308思考與練習309
第15章 ASP.NET MVC 4框架31115.1 ASP.NET MVC概述31115.1.1 MVC工作模式31115.1.2 MVC優缺點31215.1.3 ASP.NET MVC 4新特性31315.1.4 Razor視圖引擎31415.2 實驗指導創建第一個MVC 4項目31715.3 MVC 4項目元素詳解32015.3.1 MVC 4應用程序目錄結構32015.3.2 MVC 4的約定優于配置32115.3.3 MVC 4項目中的模型、視圖與控制器32115.3.4 MVC 4路由規則32415.4 ASP.NET MVC 4應用程序運行流程32615.5 實驗指導管理圖書信息328思考與練習338
第16章 WCF入門34016.1 WCF概述34016.1.1 WCF簡介34016.1.2 WCF組成部分34216.2 實踐案例創建第一個WCF服務程序34416.3 WCF核心元素34916.3.1 地址35016.3.2 綁定35116.3.3 合約35416.4 端點35816.4.1 通過配置文件方式35916.4.2 通過編程方式36116.5 實驗指導實現防盜鏈362思考與練習364
第17章 配置和部署ASP.NET網站36617.1 了解配置文件36617.1.1 配置文件概述36617.1.2 配置文件及其說明36717.1.3 配置文件的保存和加載36817.2 了解Web.config文件36917.2.1 Web.config文件的優點36917.2.2 創建Web.config文件37017.2.3 配置文件結構37117.2.4 Web.config的常用配置節37317.2.5 配置節37717.3 網站部署和發布38117.3.1 通過發布網站工具發布38117.3.2 通過復制網站工具發布38817.4 實驗指導通過XCOPY工具進行發布389思考與練習391
附錄 思考與練習答案392第1章 搭建ASP.NET 4.5的開發環境392第2章 ASP.NET Web窗體頁392第3章 Web服務器控件392第4章 頁面請求與響應對象392第5章 數據保存對象393第6章 站點導航控件393第7章 使用母版頁393第8章 驗證用戶輸入的有效性393第9章 ADO.NET進行數據庫編程394第10章 數據綁定技術394第11章 LINQ數據處理394第12章 高級技術應用394第13章 Ajax技術395第14章 Silverlight入門395第15章 ASP.NET MVC 4框架395第16章 WCF入門396第17章 配置和部署ASP.NET網站396