《ASP.NET案例精編:適用於VS 2005/2008》是2009年5月1日出版的圖書,作者是周棟祥、吳進魯。
基本介紹
- 書名:ASP.NET案例精編:適用於VS 2005/2008
- 作者:周棟祥、吳進魯
- ISBN:9787302198895
- 定價:59.80元
- 出版時間:2009年5月1日
內容簡介,圖書目錄,
內容簡介
本書由淺入深地介紹了使用ASP.NET 2.0/3.5快速開發動態網站的方法。全書分“基礎入門篇”、“實作練習篇”、“核心概念篇”和“套用技巧篇”,共4篇,總計20章。
與ASP.NET同類圖書不同的是,本書重視可視化操作,插圖豐富、細緻;開發過程中完全使用VisualStudio2005/2008為工具,符合時代潮流;程式語言為VisualBasic,體現了開發操作和編程的簡單性。本書的最大特點是作者毫無保留地公開了很多開發秘訣。書中對ASP.NET技術所做的橫向、縱向比較貫穿於始終,充分體現了以設計為主導的、以可視化操作為主體的開發線路,有利於學習者在最短的時間內迅速學會ASP.NET動態網站開發的實用技能,進而掌握.NET框架體系的精髓。
配書光碟中提供了書中涉及的所有源程式(網站項目),均經過嚴格的測試,並配有詳細的使用說明。
本書適合具有VisualBasic編程基礎、想學習ASP.NET網站開發技術的讀者閱讀。另外,具有C#編程基礎的讀者也能從書中學會大量的可視化操作技巧。本書實際上是一本成熟的上課講義,所以也適合作為培訓教材。
圖書目錄
基礎入門篇
第1章動態網頁程式與.NET框架
簡介 1
1.1HTML、W3C與瀏覽器 1
1.2動態網頁語言——以ASP與PHP
為例 3
1.2.1前端(Client)與後端(Server)的
差別 3
1.2.2ASP與ASP.NET 5
1.2.3關於PHP 5
1.2.4網頁程式的開發工具 6
1.2.5Web伺服器的市場占有率 7
1.3.NET框架 7
1.4CLR的功能 8
1.5.NETFramework類庫 9
1.6客戶端(Client)應用程式開發 10
1.7伺服器(Server)應用程式開發 11
1.8ASP.NET概述 12
1.8.1網頁與控制項架構 12
1.8.2ASP.NET編譯器 13
1.9.NETFramework系統需求 13
1.10.NETFramework3.5版的新功能 14
1.10.1ASP.NET的增強功能 14
1.10.2Ajax開發 15
1.10.3WebService和應用程式
服務 15
1.11.NET3.5和VS2008新增的控制項 15
1.11.1ListView數據控制項 16
1.11.2DataPager控制項 16
1.11.3LinqDataSource控制項 16
1.11.4ASP.NET合併工具 17
第2章VB.NET基本語法與
VisualStudio工具的介紹 18
2.1編寫第一個ASP.NET程式 18
2.2利用VisualStudio來編寫程式 22
2.2.1HTML設計頁面——擴展名
為aspx 23
2.2.2後置程式代碼——擴展名
為aspx.vb或aspx.cs 24
2.2.3使用智慧型提示 27
2.2.4插入代碼段 28
2.3Response對象 29
2.3.1用Response.Write()將數據
呈現在頁面上 29
2.3.2用Response.Redirect()把網頁
重定向 30
2.3.3用Response.End使程式終止 30
2.3.4Response對象的其他方法 31
2.4IF-Then條件語句 32
2.4.1簡單地判斷大小 32
2.4.2由用戶自行輸入數值並判斷
大小 33
2.4.3嵌套的IF-Then條件語句 35
2.4.4IF-Then語句的局限性 36
2.5SelectCase語句 37
2.6For-Next計數循環 38
2.6.1計算1+2+3+…+100 38
2.6.2使用“&”符號連續輸出 39
2.7While-EndWhile條件循環 40
2.8微軟建議的命名慣例 41
2.9Page類型與常用的事件 42
2.10安裝與測試IIS(Web伺服器環境) 43
第3章Web伺服器控制項 46
3.1TextBox輸入文本框 47
3.2ASP.NET後置程式代碼的編寫
與執行 48
3.3Button按鈕控制項的三種不同形式 50
3.3.1 Button控制項的三種變化 53
3.3.2 避免重複單擊“提交”按鈕 55
3.4Button控制項的CommandName
與CommandArgument 57
3.5使用Label控制項 61
3.6HyperLink超級連結 65
3.7DropDownList下拉列表框 68
3.7.1AutoPostBack屬性 70
3.7.2下拉列表框的add()方法 71
3.8ListBox“單選/複選”式的列表框 73
3.8.1數據綁定與SqlDataSource
數據源控制項 74
3.8.2如何得知用戶選中了ListBox
的哪幾個選項 81
3.9CheckBox與CheckBoxList(複選) 83
3.10RadioButton與RadioButtonList
(單選) 88
3.11日曆控制項 90
3.11.1SelectedDate屬性 91
3.11.2SelectionMode屬性 92
3.11.3使用SelectedDates()數組 95
3.11.4不點選日期,就出現警告
對話框 95
3.12PlaceHolder(預留空間以便動態
新增控制項) 96
3.13AdRotator廣告輪播 98
3.13.1以XML檔案作為廣告
清單 98
3.13.2通過後置程式代碼來控制
廣告清單 100
3.13.3通過資料庫來控制廣告
清單 100
3.14本章小結 101
第4章驗證控制項 103
4.1RequireFieldValidator驗證數據
是否空白 104
4.2CompareValidator——欄位比較 107
4.2.1兩個欄位相互比較 107
4.2.2與基準值進行比較 109
4.3RangeValidator——驗證數值的
有效範圍 110
4.4RegularExpressionValidator——
正則表達式驗證 111
4.5CustomValidator——自己寫程式
來做驗證 114
4.6ValidationSummary——總體驗證 117
4.7本章小結 118
第5章基本SQL語法與
SQLServer 119
5.1使用資料庫及載入範例 119
5.2新增一個數據表(Table)並設計欄位 124
5.3瀏覽CreateTable的SQL語法 126
5.4打開和使用表 128
5.5SQL語法基礎入門 129
5.6AND、OR和NOT的套用 131
5.7LIKE表達式的套用 133
5.8關於Select的其他用法 136
5.9新增記錄(InsertInto) 136
5.10刪除記錄(Delete) 137
5.11修改記錄(Update) 137
5.12本章小結 137
實作練習篇
第6章ADO.NET簡介與數據的新增
和修改 138
6.1程式與資料庫互動的四大步驟 138
6.1.1ASP.NET與ADO.NET
的簡單程式 138
6.1.2JSP、PHP也用四大步驟 139
6.1.3數據源控制項(DataSource) 141
6.1.4DataReader和DataSet
(數據集) 141
6.2DetailsView控制項,數據新增、修改
與展示 142
6.2.1第一步:連線資料庫或其他
數據源 143
6.2.2第二步:執行SQL指令 145
6.2.3第三步:自由發揮 146
6.2.4執行程式 147
6.2.5頁面修改、自動格式化 148
6.2.6編輯欄位(自定義標題、修改
欄位細節) 149
6.2.7分頁功能,AllowPaging
屬性 151
6.2.8命令欄位(CommandField),
編輯、更新和刪除 152
6.2.9DetailsView的默認模式
(DefaultMode) 153
6.3本章小結 154
第7章初探GridView——ASP.NET
功能最強大的控制項 155
7.1GridView的第一次接觸 156
7.2跟著圖片和說明一步步做 157
7.3使用數據源(DataSource)連線
資料庫 158
7.4使用數據源(DataSource)以SQL
指令訪問數據 161
7.5自動套用格式修改外觀與配色 165
7.6自定義GridView的“標題”欄位的
文本(HeaderText) 166
7.7自定義文本的數據格式
(DataFormatString) 167
7.8GridView的“選擇(Select)”按鈕
與“光棒效果” 170
7.9“分頁”與“排序”功能 173
7.10編輯數據(命令欄位,
CommandField) 176
7.11讓GridView固定位置 180
7.12範例的完整程式代碼 181
7.13GridView數據欄位類型 183
7.14GridView自動產生命令按鈕的
其他方法 184
7.14.1設計時不產生命令欄位的
HTML標記(執行期才
出現) 184
7.14.2HTML源碼中產生命令欄位
的<asp:CommandField>
標記 185
第8章GridView自定義模板 187
8.1編輯模板 188
8.1.1第一種方式——通過GridView
智慧型標籤 188
8.1.2第二種方式——通過GridView
的快捷選單 190
8.2GridView自定義模板的成果 191
8.3隔行換色(AlternatingRowStyle) 194
8.4刪除數據之前出現警告視窗
(JavaScript) 194
8.5刪除數據之前出現警告視窗(後置
程式代碼) 197
8.6命令欄位(CommandField)的運行
原理 202
8.7GridView的模板欄位
與DataList/FormView 205
8.8在VS2005/2008中也能使用舊版的
DataGrid 208
第9章GridView製作首頁的
Master-Detail功能 210
9.1案例分析(I)——兩個程式,各自展示
Master-Detail 211
9.1.1Master功能的網頁
(GridView1) 211
9.1.2GridView的超級連結欄位
(HyperLinkField) 213
9.1.3Master功能——商務網站的
做法 216
9.1.4Detail功能(GridView2,另外
一支程式) 219
9.1.5範例與完整程式代碼 221
9.2案例分析(II)——同一個程式,兩個
GridView 222
9.2.1Master功能(GridView1) 223
9.2.2Detail功能(GridView2) 224
9.2.3Detail功能里最重要的設定
界面 225
9.2.4VisualStudio產生程式,執行
Master-Detail的原理 227
9.2.5選擇(Select)按鈕與分頁/排序
CallBack的矛盾 228
9.2.6範例與完整程式代碼 229
9.3案例分析(III)——同一程式中
GridView+DetailsView 230
9.3.1與“基準值”來比較 230
9.3.2DetailsView控制項的模板
(TemplateField) 233
9.3.3修改title欄位的模板 234
9.3.4修改summary欄位的模板 235
9.3.5修改article欄位的模板 236
9.3.6DetailsView的刪除、編輯
和新建功能 239
9.3.7範例的完整程式代碼 241
9.4 案例分析(IV)——同一程式中
DropDownList+FormView 243
9.4.1Master功能交給DropDownList
控制項 245
9.4.2範例的程式代碼(Master功能),
DropDownList控制項 246
9.4.3Detail功能交給FormView
控制項 247
9.4.4範例的程式代碼(Detail功能),
FormView控制項 251
9.4.5數據綁定控制項的深入探討 255
9.5本章重點回顧 257
9.5.1SqlDataSource的“WHERE”
子句按鈕 257
9.5.2GridView/DetailsView/FormView
三者的差異 258
第10章GridView的高級功能(一) 261
10.1某一行數據的主鍵 261
10.2如何觸發GridView的選擇/編輯
事件 263
10.2.1進入GridView的編輯
模式 264
10.2.2取消GridView的編輯
模式 266
10.2.3GridView的選擇模式
(光棒效果) 266
10.2.4離開GridView的選擇模式
(取消光棒效果) 267
10.3手動編寫GridView分頁 269
10.4手動編寫GridView的各種功能
(DataSet+DataAdapter) 271
10.4.1HTML頁面設定 271
10.4.2後置程式代碼——自己寫
DBInit()與Page_Load() 273
10.4.3後置程式代碼——GridView
更新(RowUpdating)事件 274
10.4.4後置程式代碼——GridView的
分頁、編輯、取消 278
10.4.5後置程式代碼——GridView的
刪除行(RowDeleting)事件 279
10.5為何進入GridView各種模式後需
重新數據綁定 280
第11章GridView的高級功能(二) 282
11.1從GridView導出Excel檔案 282
11.2手動編寫GridView的“新增”
功能 285
11.2.1使用EmptyData模板 286
11.2.2兩段簡單的後置程式代碼 290
11.3用戶控制項(UserControl) 291
11.3.1在HTML原始碼中加入用戶
控制項 292
11.3.2在後置程式代碼中加入用戶
控制項 295
11.4在GridView中包含另一個
小GridView 296
11.4.1事前準備與HTML界面 298
11.4.2後置程式代碼(有Bug) 300
11.4.3後置程式代碼(正確版) 303
11.5GridView自定義表頭與合併相同
數據行 305
11.5.1合併“表頭(Header)”行 307
11.5.2表頭“欄位”的合併 310
11.5.3GridView的多層表頭 311
11.5.4縱向合併 312
11.5.5縱向合併與隔行換色 314
11.6本章小結 317
第12章ListView與Repeater控制項——
隨心所欲的模板之王 318
12.1ListView+SqlDataSource 320
12.2ListView的11種模板類型 323
12.3ItemTemplate/AlternatingItemTemplate
比較 324
12.3.1修改ItemTemplate 324
12.3.2令人意想不到的結果 326
12.3.3AlternatingItem——另一種
呈現數據的模板 327
12.4光棒效果與“選擇”按鈕 327
12.5Master-Detail功能 329
12.5.1Master界面(首頁) 330
12.5.2Detail界面(展示一筆數據的
細項) 331
12.5.3Button按鈕觸發ItemCommand
事件 333
12.6編輯數據時固定位置
(MaintainScrollPositionOnPostback) 334
12.7ListView控制項支持的事件 334
12.8Repeater——做報表或是展示大量
數據 335
12.8.1Repeater的HTML界面
設計 335
12.8.2簡單的HTML碼與<Table>
標記 338
12.8.3HTML表格中的<TR>與
<TD>標記 340
12.8.4案例分析(I)——動手修改
Repeater模板 340
12.8.5案例分析(II)——隔行換色
AlternatingItem模板 343
12.8.6案例分析(III)——實現
Master-Detail功能 344
核心概念篇
第13章ADO.NET訪問數據源 347
13.1.NETFramework套件的下載
與安裝 348
13.2ADO.NET簡介與架構 349
13.3NET的數據提供者(DataProvider) 350
13.3.1XML和ADO.NET的緊密
關聯 352
13.3.2ADO.NET的設計目標 352
13.4Connection對象 353
13.4.1OLEDB資料庫 354
13.4.2SQLServer資料庫 356
13.4.3ODBC資料庫 356
13.4.4Oracle資料庫 356
13.4.5在HTML頁面中聲明命名
空間 356
13.4.6在後置程式代碼中聲明
命名空間 357
13.4.7Connection的屬性 359
13.5Command對象 360
13.6DataReader對象 363
13.7DataSet(數據集)對象 365
13.8DataView對象 367
13.9DataAdapter(數據適配器)對象 368
13.10命名空間(NameSpace) 371
13.11數據源(DataSource)控制項 372
13.11.1SqlDataSource數據源
控制項 373
13.11.2簡單的SqlDataSource
(HTML原始碼) 374
13.11.3配合“數據綁定控制項” 375
13.11.4SqlDataSource的功能 378
13.12ADO.NET3.5新增的LINQ 378
13.12.1LINQtoADO.NET 379
13.12.2簡單的LINQ範例
與語法 380
13.13ADO.NET與舊版ADO的比較 381
第14章動手寫程式實現ADO.NET 383
14.1DataReader 384
14.1.1從HTML碼中連線資料庫 385
14.1.2使用Try...Catch...Finally
區塊 386
14.1.3Snippet——輔助編寫程式
代碼片段 390
14.1.4使用Using...EndUsing
區塊 391
14.1.5嵌套Using...EndUsing 393
14.1.6SQL指令的存儲過程
(StoredProcedure) 394
14.1.7返回多個結果——NextResult
方法 395
14.1.8多重結果作用集(MARS) 396
14.2DataSource數據源控制項 400
14.2.1DataSourceMode設定為
DataReader 404
14.2.2DataSourceMode設定為
DataSet 405
14.3DataSet+DataAdapter 406
14.3.1使用Using...EndUsing
區塊 409
14.3.2將DataSet轉成XML
檔案(I) 410
14.3.3將DataSet轉成XML
檔案(II) 412
14.4DataSet手寫的分頁程式 413
14.4.1分頁程式(基礎版) 414
14.4.2分頁程式(高級版/每10頁
做一區隔) 418
14.5String與StringBuilder的針對性
和效率 422
14.5.1String與StringBuilder之間
的差異 423
14.5.2實測獲得的速度提升數據 424
14.6加密和解密Web.config配置 426
14.6.1加密Web.config配置 426
14.6.2解密Web.config配置 427
第15章Page/Response/Request
類型 428
15.1Page類型 428
15.1.1單一檔案(InlineCode)與後置
程式代碼(CodeBehind) 428
15.1.2Page類型的公用事件與
ASP.NET網頁的生命周期 430
15.1.3NotPage.IsPostBack(網頁是
否“第一次”被執行) 433
15.1.4跨網頁提交(Cross-Page
Posting) 434
15.1.5通過Public屬性跨網頁
提交 436
15.1.6Page.IsCrossPagePostBack
(避免直接進入目標網頁) 438
15.2Page類型的Server對象 439
15.3Response類型 441
15.4Request類型 442
15.4.1HttpRequest屬性 443
15.4.2Browser屬性(客戶端的
瀏覽器支持的功能) 444
15.4.3ServerVariables屬性(伺服器
端的環境變數) 445
第16章狀態管理 449
16.1Application(HttpApplication類型) 449
16.1.1Application簡介 449
16.1.2案例分析(I)——在整個網站內
共享變數 450
16.1.3案例分析(II)——鎖定後才可
修改Application 452
16.2Session(HttpSessionState類型) 453
16.2.1案例分析(I) 453
16.2.2Session簡介 456
16.2.3HttpSessionState的屬性 457
16.2.4HttpSessionState的方法 459
16.2.5案例分析(II)——檢查用戶
身份 459
16.2.6案例分析(III)——會員登錄、
後台管理 461
16.3Global.asax配置檔案 465
16.3.1Application事件 467
16.3.2Session事件 467
16.3.3網站線上人數統計 468
16.4案例分析——網路聊天室 469
16.4.1基本設定與登錄頁面 469
16.4.2聊天室的主程式 470
16.5Cookie 473
16.5.1Cookie簡介 474
16.5.2編寫Cookie與設定
到期日 475
16.5.3編寫Cookie的子索引鍵 475
16.5.4限制Cookie的範圍 476
16.5.5讀取Cookie 477
16.5.6修改與刪除Cookie 479
16.5.7判斷瀏覽器是否接受
Cookie 480
16.5.8Cookie和安全性 481
16.5.9案例分析——會員登錄、後台
管理區的控制(Cookie版) 483
16.6ViewState視圖狀態 485
16.6.1寫入ViewState 486
16.6.2讀取ViewState與加密 487
套用技巧篇
第17章數據流I/O與檔案 488
17.1System.IO命名空間 488
17.2Stream寫入和讀取檔案 490
17.2.1StreamWriter——寫入
檔案 490
17.2.2一次性寫入檔案 491
17.2.3StreamReader——讀取
檔案 492
17.3File類處理檔案的靜態方法 493
17.3.1打開/複製/刪除檔案 494
17.3.2FileInfo——獲得檔案名稱稱
與容量大小信息 495
17.4Binary——讀取和寫入二進制數據
到檔案 496
17.5FileStream類型、FileMode
和FileAccess 499
17.5.1FileStream類型 499
17.5.2FileMode與FileAccess 499
17.5.3附加(Append)數據至檔案
末端 500
17.6案例分析(I)—訪問計數器
(圖片版) 500
17.7案例分析(II)——程式執行中的Log
記錄檔案 501
17.7.1自己編寫Log記錄檔案 502
17.7.2與其他程式共享Log檔案的
記錄功能 503
第18章檔案上傳與FileUpload
控制項 507
18.1FileUpload控制項 507
18.1.1簡單的檔案上傳 508
18.1.2避免上傳的檔案名稱重複 510
18.2FileUpload的屬性 511
18.2.1限制上傳檔案的大小
(PostedFile屬性) 513
18.2.2FileContent與Stream
對象 513
18.2.3限制上傳檔案的擴展名 515
18.2.4避免暴露Server上面的實際
路徑 517
18.3多個檔案批量上傳 517
18.3.1以FileUpload做批量上傳 518
18.3.2通過HttpPostedFile上傳
多個檔案 520
18.4本章小結 523
第19章Web2.0的王牌——Ajax
與ClientCallBack 524
19.1為什麼要使用Ajax 524
19.2VS2005中如何新增Ajax 526
19.3案例分析(I)——Ajax版的Master-
Detail功能 527
19.3.1新建一個Ajax網頁(Web
Form) 527
19.3.2Ajax的核心——UpdatePanel
控制項 529
19.4UpdatePanel的“內”與“外” 531
19.5案例分析(II)——定時啟動
UpdatePanel區塊 532
19.6案例分析(III)——嵌套UpdatePanel
區塊 533
19.6.1很簡單但又很難一次性
做對的練習 533
19.6.2UpdateMode與
ChildrenAsTriggers屬性 534
19.6.3最重要的Triggers屬性 535
19.7案例分析(IV)——Master-Detail
範例(改良版) 537
19.8案例分析(V)——讓您想像不到的
ListView 538
19.8.1Item與AlternatingItem
模板的Ajax化 539
19.8.2ListView的各種模板中的
控制項ID不能同名 540
19.9案例分析(VI)——聊天室+Ajax 543
19.9.1基本設定與登錄界面 543
19.9.2聊天室的主程式(Ajax
重點) 544
19.10不兼容UpdatePanel的控制項 548
19.11UpdatePanel與Ajax不是萬能的 548
19.12本章小結 549
第20章ClientCallBack 550
20.1PostBack(回傳)與CallBack(回調)的
差別 550
20.2ClientCallBack帶來的改進 551
20.3實現ClientCallBack 552
20.3.1HTML界面與JavaScript 553
20.3.2CallBack的後置程式代碼 554
20.4Master-Detail功能的CallBack
範例 557
20.5聊天室的CallBack範例(定時
執行) 561
20.5.1聊天室的主程式——HTML
頁面 561
20.5.2聊天室的主程式——後置
程式代碼 562
20.6同時使用多個CallBack 564
20.7ICallbackEventHandler接口的
不同寫法 567
20.8ClientCallBack的組件 568