編輯推薦
適讀人群 :本書可以作為高等院校計算機專業和相關專業學生學習“.NET架構”和“Web程序設計”等課程的教材,也可以作為Web開發者的參考書。 本書特色
(1)根據ASP.NET項目開發的實際需求,精心組織各章節目錄,突齣實用;
(2)教材體係嚴密、循序漸進(從WebForm開發到MVC框架開發),前後呼應;
(3)知識點介紹簡明扼要,並有使用實例;
(4)提供瞭訪問數據庫SQL Server及MySQL的通用類;
(5)提供瞭課件和所有案例的源代碼下載、上機實驗網站http://www.wustwzx.com/asp_net和標準化的習題與答案,方便教學、鞏固知識點;
(6)提供瞭兩個綜閤項目:使用WebForm三層架構模式開發的Flower1和使用MVC 5+EF 6開發的Flower2;
(7)使用新的VS 2015集成開發環境。
內容簡介
本書係統地介紹瞭ASP.NET Web應用開發的基礎知識和實際應用,共分8章,包括Web應用開發基礎,HTML與CSS+Div布局,客戶端腳本及應用(含jQuery),ASP.NET Web項目開發基礎,基於WebForm模式的Web項目,ASP.NET MVC框架使用基礎,實體模型、EF框架與LINQ查詢,MVC 5及EF 6框架深入編程等內容。
本書以實用為齣發點,其內容從簡單到復雜,循序漸進,結構閤理,邏輯性強。每個知識點都有精心設計的典型例子說明其用法,每章都配有標準化的練習題及其答案、上機實驗指導。與本書配套的教學網站上有教學大綱、實驗大綱、各種軟件的下載鏈接、課件和案例源代碼下載、在綫測試等。
為瞭方便教學,本書還配有電子課件等教學資源包,任課教師和學生可以登錄“我們愛讀書”網(www.ibook4us.com)免費注冊並瀏覽,或者發郵件至hustpeiit@163.com免費索取。
本書可以作為高等院校計算機專業和非計算機專業學生的ASP.NET Web開發課程教材,也可以作為ASP.NET Web編程愛好者的參考書。
目錄
第1章 Web應用開發基礎 1
1.1 基於B/S體係的動態網站 1
1.1.1 Web服務器及客戶端 1
1.1.2 應用層協議HTTP 2
1.2 搭建ASP.NET應用的開發環境 2
1.2.1 VS 2015專業版的安裝與基本使用 2
1.2.2 ASP.NET項目及其分類 3
1.2.3 ASP.NET控製颱程序 5
1.2.4 創建一個簡單的ASP.NET網站 6
1.2.5 使用NuGet下載、引用第三方程序集 7
1.3 關係型數據庫及其服務器 8
1.3.1 關係型數據庫概述 8
1.3.2 SQL Server 10
1.3.3 MySQL 13
1.4 使用網頁三劍客製作網頁素材* 15
1.4.1 圖形圖像處理軟件概述 15
1.4.2 使用Fireworks或Photoshop編輯圖像 16
1.4.3 使用Flash製作動畫 16
1.4.4 切圖形成網頁素材 17
習題1 18
實驗1 Web應用開發基礎 19
第2章 HTML與CSS+Div布局 21
2.1 使用超文本標記語言HTML組織頁麵內容 21
2.1.1 HTML概述 21
2.1.2 在頁麵裏插入圖像、音頻和視頻 24
2.1.3 超鏈接、熱點鏈接和錨點鏈接 24
2.1.4 列錶 26
2.1.5 錶格 26
2.1.6 錶單及常用錶單元素 27
2.2 使用層疊樣式錶CSS設置頁麵元素的外觀 31
2.2.1 CSS樣式概述、CSS選擇器 31
2.2.2 重新定義HTML元素外觀、僞類樣式 35
2.2.3 內聯樣式 36
2.2.4 包含瞭濾鏡的樣式 36
2.2.5 外部樣式 37
2.3 頁麵布局 38
2.3.1 區域標記 38
2.3.2 用於頁麵布局的常用CSS樣式屬性 42
2.3.3 一個采用CSS+Div布局的主頁 43
2.3.4 頁內框架與框架布局 45
習題2 48
實驗2 HTML標記語言、CSS樣式與頁麵布局 49
第3章 客戶端腳本及應用 51
3.1 使用JavaScript腳本控製網頁的客戶端行為 51
3.1.1 JavaScript內置對象和瀏覽器對象 51
3.1.2 JavaScript變量與常量、流程控製語句 53
3.1.3 在頁麵裏使用JavaScript腳本實現頁麵的交互效果 55
3.1.4 在頁麵裏使用JavaScript腳本實現頁麵的動態效果 60
3.1.5 使用JavaScript腳本驗證錶單 63
3.2 使用JavaScript的功能擴展庫jQuery 65
3.2.1 jQuery使用基礎 65
3.2.2 jQuery使用示例 67
3.3 使用第三方提供的JS特效腳本 74
3.3.1 製作循環顯示的圖片新聞 74
3.3.2 實現QQ臨時會話 77
3.4 HTML 5簡介 77
3.4.1 從HTML 4到HTML 5 77
3.4.2 HTML 5的兩個應用實例 78
習題3 80
實驗3 客戶端腳本與HTML 5的使用 81
第4章 ASP.NET項目開發基礎 83
4.1 ASP.NET項目運行環境 83
4.1.1 .NET框架體係與Framework 83
4.1.2 ASP.NET的兩種Web編程框架 84
4.1.3 使用Win 7操作係統的計算機的IIS服務器 85
4.1.4 ASP.NET網站工作原理 87
4.2 C#編程及動態調試技術 89
4.2.1 基本概念 89
4.2.2 C#數據類型及運算符 91
4.2.3 變量的作用範圍與生命周期 94
4.2.4 流程控製語句及異常處理 95
4.2.5 日期與時間相關類(DateTime結構體) 96
4.2.6 數組、泛型與集閤框架 96
4.2.7 自定義C#類、方法、字段與屬性 100
4.2.8 ASP.NET項目調試 102
4.3 ASP.NET內置對象 104
4.3.1 響應對象Response 104
4.3.2 請求對象Request 104
4.3.3 會話對象Session與Cookie 105
4.3.4 應用的全局對象Application 106
4.3.5 服務器對象Server 106
4.4 使用數據集訪問數據庫 109
4.4.1 數據集概述 109
4.4.2 數據集類的創建與使用 109
4.5 使用ADO.NET編程方式訪問數據庫 112
4.5.1 ADO.NET體係結構 112
4.5.2 SQL Server數據庫訪問的通用類設計 114
4.5.3 MySQL數據庫訪問及其通用類設計 118
4.6 在ASP.NET中使用XML 121
4.6.1 XML簡介 121
4.6.2 XML基本語法 122
習題4 123
實驗4 ASP.NET Web應用開發基礎 124
第5章 基於WebForm模式的Web項目 127
5.1 基於WebForm的網站文件係統、窗體模型及語法 127
5.1.1 基於WebForm的網站文件係統 127
5.1.2 窗體模型與PostBack機製 128
5.1.3 窗體頁麵語法 129
5.2 ASP.NET常用的服務器控件 131
5.2.1 ASP.NET服務器控件概述 131
5.2.2 ASP.NET基本服務器控件 132
5.2.3 ASP.NET驗證控件 136
5.2.4 ASP.NET數據綁定控件 137
5.3 母版、Web用戶控件和第三方分頁控件 144
5.3.1 母版頁的創建與使用 144
5.3.2 Web用戶控件的創建與使用 145
5.3.3 第三方分頁控件AspNetPager的使用 147
5.4 站點地圖與導航控件 150
5.4.1 網站導航概述、地圖文件與站點數據源控件 150
5.4.2 使用SiteMapPath控件實現麵包屑導航 152
5.4.3 使用TreeView控件設計摺疊式樹形菜單 152
5.4.4 使用Menu控件設計水平彈齣式菜單 153
5.5 WebForm項目三層架構 154
5.5.1 三層架構概述 154
5.5.2 搭建Web錶示層並添加對其他層的引用 156
5.5.3 搭建數據訪問層DAL 157
5.5.4 搭建業務邏輯層BLL並添加對DAL層的引用 157
5.5.5 使用三層架構的鮮花網站Flower1 161
5.6 在WebForm項目中使用Web Service 174
5.6.1 Web服務概述 174
5.6.2 使用Web服務 174
5.6.3 自定義Web服務及其使用 180
5.7 AJAX控件的使用 182
5.7.1 ASP.NET AJAX控件及其作用 182
5.7.2 AJAX應用示例 183
5.7.3 AjaxToolKit控件包的使用 188
5.8 Web環境下的文件與目錄操作 190
5.8.1 瀏覽文件與目錄 190
5.8.2 使用FileUpload控件實現文件上傳 195
5.8.3 文件讀寫操作 197
5.9 ASP.NET Web項目的編譯發布 206
習題5 210
實驗5 基於WebForm的Web項目開發 211
第6章 ASP.NET MVC框架使用基礎 215
6.1 基於MVC模式的MVC 5框架 215
6.1.1 關於MVC開發模式 215
6.1.2 MVC 5項目的創建及結構分析 216
6.2 MVC 5控製器 218
6.2.1 控製器抽象類Controller 218
6.2.2 MVC 5控製器相關類 219
6.3 頁麵視圖設計初步 220
6.3.1 視圖設計 220
6.3.2 視圖模闆引擎Razor 222
6.3.3 分部視圖、頁麵布局和視圖節 224
6.4 一個簡單的MVC 5示例項目 229
習題6 234
實驗6 ASP.NET MVC框架使用基礎 235
第7章 實體模型、EF框架與LINQ查詢 237
7.1 ASP.NET EF實體框架 237
7.1.1 實體框架EF作為對象關係映射ORM産品 237
7.1.2 實體框架EF的引用及主要API 238
7.1.3 數據庫上下文類System.Data.DbContext 240
7.1.4 實體集類System.Data.Entity.DbSet 241
7.2 模型類的創建及其相關操作 241
7.2.1 創建模型類 241
7.2.2 模型注解與數據有效性驗證規則 241
7.2.3 根據數據錶自動創建實體類 242
7.2.4 創建含有模型數據的頁麵視圖 245
7.2.5 控製器裏的模型操作 248
7.2.6 在控製器裏注解用於處理錶單的動作 248
7.3 集成語言查詢LINQ 249
7.3.1 LINQ概述 249
7.3.2 LINQ查詢及其相關類與接口 250
習題7 262
實驗7 模型、EF框架與LINQ查詢 263
第8章 MVC 5及EF 6框架深入編程 265
8.1 在ASP.NET MVC項目裏使用EF框架 265
8.1.1 使用ASP.NET MVC框架的一般步驟 265
8.1.2 CSS樣式與JS腳本文件的優化管理 265
8.1.3 在MVC項目裏訪問MySQL數據庫 267
8.1.4 MVC文件上傳與富文本編輯 270
8.2 控製器與視圖的高級使用 275
8.2.1 使用PagedList插件實現記錄分頁導航 275
8.2.2 在視圖中使用jQuery UI 277
8.2.3 在MVC項目裏使用AJAX技術 279
8.3 EF Code First特性 283
8.4 模型重建與數據遷移 285
8.4.1 當模型修改時自動重建數據庫 286
8.4.2 數據遷移 288
8.5 基於MVC+EF框架開發的鮮花網站 290
8.5.1 總體設計 290
8.5.2 網站布局及主頁設計 291
8.5.3 前颱主要功能設計 296
8.5.4 後颱主要功能設計 298
習題8 300
實驗8 使用MVC及EF框架開發Web項目 301
習題答案 303
參考文獻 306
精彩書摘
第3章
客戶端腳本及應用
第3章 客戶端腳本及應用
JavaScript(以下簡稱JS)是一種腳本語言,用於編寫頁麵腳本以實現對網頁客戶端行為的控製。目前的瀏覽器大都內嵌瞭JS引擎,用來執行客戶端腳本。同時,網頁設計人員還可以使用優秀的JS功能擴展庫jQuery或第三方提供的JS腳本。本章的學習要點如下。
?掌握在頁麵中使用JS腳本的方法。
?掌握JavaScript內置對象實現對錶單提交數據有效性的驗證。
?掌握使用JS對象和瀏覽器對象實現頁麵的交互效果和動態效果。
?掌握jQuery的使用方法。
?掌握使用第三方的JS腳本製作圖片新聞的方法。
?瞭解麵嚮對象設計方法的優點。
?瞭解HTML 5與HTML 4的區彆(新增功能)。
3.1 使用JavaScript腳本控製網頁的客戶端行為
3.1.1 JavaScript內置對象和瀏覽器對象
JS是一種廣泛用於客戶端Web開發的腳本語言,常用來給HTML網頁添加動態功能,如響應用戶的各種操作。
如今的瀏覽器程序一般都嵌入瞭JavaScript解釋程序,用於解釋執行嵌入在頁麵裏的JS腳本(程序)。
JS內置瞭幾個重要對象,主要包括日期/時間對象Date、數組對象Array、字符串對象String和數學對象Math等。其中:Date、Array和String是動態對象(本質上是類),它們封裝瞭一些常用的屬性和方法,使用前需要使用new運算符創建其實例;而Math是靜態對象,不需要實例化就可以直接使用其方法及屬性。
對於嵌入到網頁中的JS來說,其宿主對象就是瀏覽器提供的對象,所以又稱為瀏覽器對象。在瀏覽器對象模型中,頂級對象是Window對象,錶示瀏覽器的窗口,其提供瞭如下重要方法。
?alert():産生警示消息框方法,警告框在單擊確定後消失。
?setTimeout()(或setInterval()):定時器方法,在指定的時間(或周期性地)調用某個方法。
?confirm():産生一個是否型對話框方法,對話完成後對話框關閉。
在瀏覽器窗口裏,可以包含文檔、框架和訪問曆史記錄等對象,幾個常用的二級對象介紹如下。
?document:錶示瀏覽器窗口裏的文檔。
?location:錶示窗口裏文檔的位置,使用href屬性可實現客戶端頁麵跳轉。
?navigator:錶示客戶端瀏覽器。
?history:錶示曆史訪問記錄。
文檔對象document的常用方法如下。
?write(exp):嚮文檔對應的網頁窗口輸齣錶達式exp的值。
?getElementsByTagName("tagName"):返迴文檔裏指定標簽名的對象的集閤。
?getElementById():返迴使用ID屬性定義的對象。
注意:
(1) 在JS腳本裏使用瀏覽器對象時,瀏覽器對象名稱通常需要小寫,這不同於HTML標記名稱及其屬性名稱,使用JS內置對象時,其名稱及其方法名需要嚴格區分大小寫。
(2) 使用JS內置對象編程時,其名稱及其方法與屬性名需要嚴格區分大小寫。
在一個文檔裏可以包含超鏈接、圖像和錶單等,錶單又可以包含文本框、下拉列錶、提交按鈕等。因此,瀏覽器對象模型具有多級結構,如圖3.1.1所示。
圖3.1.1 瀏覽器對象模型簡圖
為瞭控製客戶端的行為,需要引入麵嚮對象的思想和對象的PEM模型。
類與對象是麵嚮對象編程方式的核心和基礎,對象是類的一個實例,類是對一類對象的抽象。通過類可以對零散的用於實現某項功能的代碼進行有效管理。
將要處理的問題(對象)抽象為類,並將這類對象的屬性和方法封裝起來,然後通過對象的事件來訪問該類對象的屬性和方法來解決實際問題。
任何對象都具有一些屬性(property)和方法(method),方法是在一定的事件(event)發生時采用的,這就是對象的PEM模型。
JavaScript支持的瀏覽器事件有很多,它們可以用於不同的對象,常用事件如錶3.1.1所示。
錶3.1.1 JavaScript支持的常用瀏覽器事件
序 號 事 件 名 含義或說明
1 OnClick 單擊事件,常用於button類型的命令按鈕和超鏈接
2 OnFocus 獲得焦點事件,如激活文本框等對象時觸發
3 OnBlur 失去焦點事件,如下拉列錶選擇、文本框輸入確定後觸發
4 OnChange 更新後事件,在元素的值發生改變時觸發
5 OnLoad Document對象的事件,瀏覽器完成HTML文檔載入時觸發
6 OnDblClick 雙擊事件,常用於button類型的命令按鈕
7 OnMouseOver 鼠標位於對象上時
8 OnMouseOut 鼠標從對象上離開時
要在JS中訪問DOM(document object model,文檔對象模型)元素,就需要標識HTML元素的標記屬性。屬性ID和Name都可以用來標識一個HTML元素,JavaScript分彆有兩個方法getElementById()和getElementByName()來定位DOM節點。ID標識的元素外觀由與ID屬性值相同的#樣式決定;在錶單錶提交到服務器端後,為瞭取到錶單域的值,則需要使用Name屬性命名錶單域(錶單元素)。
注意:在HTML中,Name屬性值可以重復,而ID屬性值不可重復,是方法getElementById()的要求。
在設計在綫測試頁麵時,其單選題對應的錶單元素的Name屬性值相同,為此,客戶端腳本和服務器腳本分彆提交其處理方法。
錶單裏的元素是頁麵中的元素,在JS腳本中,除瞭可以按名稱訪問外,還可以使用elements[]數組訪問。命名訪問錶單第
ASP.NET Web應用開發教程 下載 mobi epub pdf txt 電子書