图书目录

目    录

基础入门篇

 

第1章  动态网页程序与.NET框架

        简介 1

1.1  HTML、W3C与浏览器 1

1.2  动态网页语言——以ASP与PHP

为例 3

1.2.1  前端(Client)与后端(Server)的

差别 3

1.2.2  ASP与ASP.NET 5

1.2.3  关于PHP 5

1.2.4  网页程序的开发工具 6

1.2.5  Web服务器的市场占有率 7

1.3  .NET框架 7

1.4  CLR的功能 8

1.5  .NET Framework类库 9

1.6  客户端(Client)应用程序开发 10

1.7  服务器(Server)应用程序开发 11

1.8  ASP.NET概述 12

1.8.1  网页与控件架构 12

1.8.2  ASP.NET编译器 13

1.9  .NET Framework系统需求 13

1.10  .NET Framework 3.5版的新功能 14

1.10.1  ASP.NET的增强功能 14

1.10.2  Ajax开发 15

1.10.3  Web Service和应用程序

 服务 15

1.11  .NET 3.5和VS2008新增的控件 15

1.11.1  ListView数据控件 16

1.11.2  DataPager控件 16

1.11.3  LinqDataSource控件 16

1.11.4  ASP.NET合并工具 17

第2章  VB.NET基本语法与

        Visual Studio工具的介绍 18

2.1  编写第一个ASP.NET程序 18

2.2  利用Visual Studio来编写程序 22

2.2.1  HTML设计页面——扩展名

为aspx 23

2.2.2  后置程序代码——扩展名

为aspx.vb或aspx.cs 24

2.2.3  使用智能提示 27

2.2.4  插入代码段 28

2.3  Response对象 29

2.3.1  用Response.Write()将数据

呈现在页面上 29

2.3.2  用Response.Redirect()把网页

重定向 30

2.3.3  用Response.End使程序终止 30

2.3.4  Response对象的其他方法 31

2.4  IF-Then条件语句 32

2.4.1  简单地判断大小 32

2.4.2  由用户自行输入数值并判断

大小 33

2.4.3  嵌套的IF-Then条件语句 35

2.4.4  IF-Then语句的局限性 36

2.5  Select Case语句 37

2.6  For-Next计数循环 38

2.6.1  计算1+2+3+…+100 38

2.6.2  使用“&”符号连续输出 39

2.7  While - End While条件循环 40

2.8  微软建议的命名惯例 41

2.9  Page类型与常用的事件 42

2.10  安装与测试IIS(Web服务器环境) 43

第3章  Web服务器控件 46

3.1  TextBox输入文本框 47

3.2  ASP.NET后置程序代码的编写

与执行 48

3.3  Button按钮控件的三种不同形式 50

3.3.1 Button控件的三种变化 53

3.3.2 避免重复单击“提交”按钮 55

3.4  Button控件的CommandName

与 CommandArgument 57

3.5  使用Label控件 61

3.6  HyperLink超级链接 65

3.7  DropDownList下拉列表框 68

3.7.1  AutoPostBack属性 70

3.7.2  下拉列表框的add()方法 71

3.8  ListBox“单选/复选”式的列表框 73

3.8.1  数据绑定与SqlDataSource

数据源控件 74

3.8.2  如何得知用户选中了ListBox

的哪几个选项 81

3.9  CheckBox与CheckBoxList(复选) 83

3.10  RadioButton与RadioButtonList

 (单选) 88

3.11  日历控件 90

3.11.1  SelectedDate属性 91

3.11.2  SelectionMode属性 92

3.11.3  使用SelectedDates()数组 95

3.11.4  不点选日期,就出现警告

 对话框 95

3.12  PlaceHolder(预留空间以便动态

 新增控件) 96

3.13  AdRotator广告轮播 98

3.13.1  以XML文件作为广告

 清单 98

3.13.2  通过后置程序代码来控制

 广告清单 100

3.13.3  通过数据库来控制广告

 清单 100

3.14  本章小结 101

第4章  验证控件 103

4.1  RequireFieldValidator验证数据

 是否空白 104

4.2  CompareValidator——字段比较 107

4.2.1  两个字段相互比较 107

4.2.2  与基准值进行比较 109

4.3  RangeValidator——验证数值的

有效范围 110

4.4  RegularExpressionValidator——

正则表达式验证 111

4.5  CustomValidator——自己写程序

来做验证 114

4.6  ValidationSummary——总体验证 117

4.7  本章小结 118

第5章  基本SQL语法与

        SQL Server 119

5.1  使用数据库及加载范例 119

5.2  新增一个数据表(Table)并设计字段 124

5.3  浏览Create Table的SQL语法 126

5.4  打开和使用表 128

5.5  SQL语法基础入门 129

5.6  AND、OR和NOT的应用 131

5.7  LIKE表达式的应用 133

5.8  关于Select的其他用法 136

5.9  新增记录(Insert Into) 136

5.10  删除记录(Delete) 137

5.11  修改记录(Update) 137

5.12  本章小结 137

 

实作练习篇

 

第6章  ADO.NET简介与数据的新增

        和修改 138

6.1  程序与数据库互动的四大步骤 138

6.1.1  ASP.NET与ADO.NET

的简单程序 138

6.1.2  JSP、PHP也用四大步骤 139

6.1.3  数据源控件(DataSource) 141

6.1.4  DataReader和DataSet

(数据集) 141

6.2  DetailsView控件,数据新增、修改

与展示 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.9  DetailsView的默认模式

(DefaultMode) 153

6.3  本章小结 154

第7章  初探GridView——ASP.NET 

        功能最强大的控件 155

7.1  GridView的第一次接触 156

7.2  跟着图片和说明一步步做 157

7.3  使用数据源(DataSource)连接

数据库 158

7.4  使用数据源(DataSource)以SQL

指令访问数据 161

7.5  自动套用格式修改外观与配色 165

7.6  自定义GridView的“标题”字段的

文本(Header Text) 166

7.7  自定义文本的数据格式

(DataFormatString) 167

7.8  GridView的“选择(Select)”按钮

与“光棒效果” 170

7.9  “分页”与“排序”功能 173

7.10  编辑数据(命令字段,

 CommandField) 176

7.11  让GridView固定位置 180

7.12  范例的完整程序代码 181

7.13  GridView数据字段类型 183

7.14  GridView自动产生命令按钮的

 其他方法 184

7.14.1  设计时不产生命令字段的

 HTML标记(执行期才

 出现) 184

7.14.2  HTML源码中产生命令字段

 的<asp:CommandField>

 标记 185

第8章  GridView自定义模板 187

8.1  编辑模板 188

8.1.1  第一种方式——通过GridView

智能标签 188

8.1.2  第二种方式——通过GridView

的快捷菜单 190

8.2  GridView自定义模板的成果 191

8.3  隔行换色(AlternatingRowStyle) 194

8.4  删除数据之前出现警告窗口

(JavaScript) 194

8.5  删除数据之前出现警告窗口(后置

程序代码) 197

8.6  命令字段(CommandField)的运行

原理 202

8.7  GridView的模板字段

与DataList/FormView 205

8.8  在VS2005/2008中也能使用旧版的

DataGrid 208

第9章  GridView制作首页的

        Master-Detail功能 210

9.1  案例分析(I)——两个程序,各自展示

Master-Detail 211

9.1.1  Master功能的网页

(GridView1) 211

9.1.2  GridView的超级链接字段

(HyperLinkField) 213

9.1.3  Master功能——商务网站的

做法 216

9.1.4  Detail功能(GridView2,另外

一支程序) 219

9.1.5  范例与完整程序代码 221

9.2  案例分析(II)——同一个程序,两个

GridView 222

9.2.1  Master功能(GridView1) 223

9.2.2  Detail功能(GridView2) 224

9.2.3  Detail功能里最重要的设置

界面 225

9.2.4  Visual Studio产生程序,执行

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.2  DetailsView控件的模板

(TemplateField) 233

9.3.3  修改title字段的模板 234

9.3.4  修改summary字段的模板 235

9.3.5  修改article字段的模板 236

9.3.6  DetailsView的删除、编辑

和新建功能 239

9.3.7  范例的完整程序代码 241

9.4 案例分析(IV)——同一程序中

DropDownList+FormView 243

9.4.1  Master功能交给DropDownList

控件 245

9.4.2  范例的程序代码(Master功能),

DropDownList控件 246

9.4.3  Detail功能交给FormView

控件 247

9.4.4  范例的程序代码(Detail功能),

FormView控件 251

9.4.5  数据绑定控件的深入探讨 255

9.5  本章重点回顾 257

9.5.1  SqlDataSource的“WHERE”

子句按钮 257

9.5.2  GridView/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.3  GridView的选择模式

  (光棒效果) 266

10.2.4  离开GridView的选择模式

  (取消光棒效果) 267

10.3  手动编写GridView分页 269

10.4  手动编写GridView的各种功能

  (DataSet + DataAdapter) 271

10.4.1  HTML页面设置 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  用户控件(User Control) 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.5  GridView自定义表头与合并相同

 数据行 305

11.5.1  合并“表头(Header)”行 307

11.5.2  表头“字段”的合并 310

11.5.3  GridView的多层表头 311

11.5.4  纵向合并 312

11.5.5  纵向合并与隔行换色 314

11.6  本章小结 317

第12章  ListView与Repeater控件——

         随心所欲的模板之王 318

12.1  ListView + SqlDataSource 320

12.2  ListView的11种模板类型 323

12.3  ItemTemplate/AlternatingItemTemplate

 比较 324

12.3.1  修改ItemTemplate 324

12.3.2  令人意想不到的结果 326

12.3.3  AlternatingItem——另一种

 呈现数据的模板 327

12.4  光棒效果与“选择”按钮 327

12.5  Master-Detail功能 329

12.5.1  Master界面(首页) 330

12.5.2  Detail界面(展示一笔数据的

 细项) 331

12.5.3  Button按钮触发ItemCommand

 事件 333

12.6  编辑数据时固定位置

 (MaintainScrollPositionOnPostback) 334

12.7  ListView控件支持的事件 334

12.8  Repeater——做报表或是展示大量

 数据 335

12.8.1  Repeater的HTML界面

 设计 335

12.8.2  简单的HTML码与<Table>

 标记 338

12.8.3  HTML表格中的<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  .NET Framework套件的下载

 与安装 348

13.2  ADO.NET简介与架构 349

13.3  NET的数据提供者(Data Provider) 350

13.3.1  XML和ADO.NET的紧密

 关联 352

13.3.2  ADO.NET的设计目标 352

13.4  Connection对象 353

13.4.1  OLE DB数据库 354

13.4.2  SQL Server数据库 356

13.4.3  ODBC数据库 356

13.4.4  Oracle数据库 356

13.4.5  在HTML页面中声明命名

 空间 356

13.4.6  在后置程序代码中声明

 命名空间 357

13.4.7  Connection的属性 359

13.5  Command对象 360

13.6  DataReader对象 363

13.7  DataSet(数据集)对象 365

13.8  DataView对象 367

13.9  DataAdapter(数据适配器)对象 368

13.10  命名空间(NameSpace) 371

13.11  数据源(DataSource)控件 372

13.11.1  SqlDataSource数据源

  控件 373

13.11.2  简单的SqlDataSource

  (HTML源代码) 374

13.11.3  配合“数据绑定控件” 375

13.11.4  SqlDataSource的功能 378

13.12  ADO.NET 3.5新增的LINQ 378

13.12.1  LINQ to ADO.NET 379

13.12.2  简单的LINQ范例

  与语法 380

13.13  ADO.NET与旧版ADO的比较 381

第14章  动手写程序实现ADO.NET 383

14.1  DataReader 384

14.1.1  从HTML码中连接数据库 385

14.1.2  使用Try ... Catch ... Finally

 区块 386

14.1.3  Snippet——辅助编写程序

 代码片段 390

14.1.4  使用Using ... End Using

 区块 391

14.1.5  嵌套Using ... End Using 393

14.1.6  SQL指令的存储过程

 (Stored Procedure) 394

14.1.7  返回多个结果——NextResult

 方法 395

14.1.8  多重结果作用集(MARS) 396

14.2  DataSource数据源控件 400

14.2.1  DataSourceMode设置为

 DataReader 404

14.2.2  DataSourceMode设置为

 DataSet 405

14.3  DataSet+DataAdapter 406

14.3.1  使用Using ... End Using

 区块 409

14.3.2  将DataSet转成XML

 文件(I) 410

14.3.3  将DataSet转成XML

 文件(II) 412

14.4  DataSet手写的分页程序 413

14.4.1  分页程序(基础版) 414

14.4.2  分页程序(高级版/每10页

 做一区隔) 418

14.5  String与StringBuilder的针对性

 和效率 422

14.5.1  String与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.1  Page类型 428

15.1.1  单一文件(Inline Code)与后置

 程序代码(Code Behind) 428

15.1.2  Page类型的公用事件与

 ASP.NET网页的生命周期 430

15.1.3  Not Page.IsPostBack(网页是

 否“第一次”被执行) 433

15.1.4  跨网页提交(Cross-Page 

 Posting) 434

15.1.5  通过Public属性跨网页

 提交 436

15.1.6  Page.IsCrossPagePostBack

 (避免直接进入目标网页) 438

15.2  Page类型的Server对象 439

15.3  Response类型 441

15.4  Request类型 442

15.4.1  HttpRequest属性 443

15.4.2  Browser属性(客户端的

 浏览器支持的功能) 444

15.4.3  ServerVariables属性(服务器

 端的环境变量) 445

第16章  状态管理 449

16.1  Application(HttpApplication类型) 449

16.1.1  Application简介 449

16.1.2  案例分析(I)——在整个网站内

 共享变量 450

16.1.3  案例分析(II)——锁定后才可

 修改Application 452

16.2  Session(HttpSessionState类型) 453

16.2.1  案例分析(I) 453

16.2.2  Session简介 456

16.2.3  HttpSessionState的属性 457

16.2.4  HttpSessionState的方法 459

16.2.5  案例分析(II)——检查用户

 身份 459

16.2.6  案例分析(III)——会员登录、

 后台管理 461

16.3  Global.asax配置文件 465

16.3.1  Application事件 467

16.3.2  Session事件 467

16.3.3  网站在线人数统计 468

16.4  案例分析——网络聊天室 469

16.4.1  基本设置与登录页面 469

16.4.2  聊天室的主程序 470

16.5  Cookie 473

16.5.1  Cookie简介 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.8  Cookie和安全性 481

16.5.9  案例分析——会员登录、后台

 管理区的控制(Cookie版) 483

16.6  ViewState视图状态 485

16.6.1  写入ViewState 486

16.6.2  读取ViewState与加密 487

 

应用技巧篇

 

第17章  数据流I/O与文件 488

17.1  System.IO命名空间 488

17.2  Stream写入和读取文件 490

17.2.1  StreamWriter——写入

 文件 490

17.2.2  一次性写入文件 491

17.2.3  StreamReader——读取

 文件 492

17.3  File类处理文件的静态方法 493

17.3.1  打开/复制/删除文件 494

17.3.2  FileInfo——获得文件名称

 与容量大小信息 495

17.4  Binary——读取和写入二进制数据

 到文件 496

17.5  FileStream类型、FileMode

 和FileAccess 499

17.5.1  FileStream类型 499

17.5.2  FileMode与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.1  FileUpload控件 507

18.1.1  简单的文件上传 508

18.1.2  避免上传的文件名重复 510

18.2  FileUpload的属性 511

18.2.1  限制上传文件的大小

 (PostedFile属性) 513

18.2.2  FileContent与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章  Web 2.0的王牌——Ajax

          与Client CallBack 524

19.1  为什么要使用Ajax 524

19.2  VS2005中如何新增Ajax 526

19.3  案例分析(I)——Ajax版的Master-

 Detail功能 527

19.3.1  新建一个Ajax网页(Web 

 Form) 527

19.3.2  Ajax的核心——UpdatePanel

 控件 529

19.4  UpdatePanel的“内”与“外” 531

19.5  案例分析(II)——定时启动

 UpdatePanel区块 532

19.6  案例分析(III)——嵌套UpdatePanel

 区块 533

19.6.1  很简单但又很难一次性

 做对的练习 533

19.6.2  UpdateMode与

 ChildrenAsTriggers属性 534

19.6.3  最重要的Triggers属性 535

19.7  案例分析(IV)——Master-Detail

 范例(改良版) 537

19.8  案例分析(V)——让您想像不到的

 ListView 538

19.8.1  Item与AlternatingItem 

 模板的Ajax化 539

19.8.2  ListView的各种模板中的

 控件ID不能同名 540

19.9  案例分析(VI)——聊天室+Ajax 543

19.9.1  基本设置与登录界面 543

19.9.2  聊天室的主程序(Ajax

 重点) 544

19.10  不兼容UpdatePanel的控件 548

19.11  UpdatePanel与Ajax不是万能的 548

19.12  本章小结 549

第20章  Client CallBack 550

20.1  PostBack(回传)与CallBack(回调)的

 差别 550

20.2  Client CallBack带来的改进 551

20.3  实现Client CallBack 552

20.3.1  HTML界面与JavaScript 553

20.3.2  CallBack的后置程序代码 554

20.4  Master-Detail功能的CallBack

 范例 557

20.5  聊天室的CallBack范例(定时

 执行) 561

20.5.1  聊天室的主程序——HTML

 页面 561

20.5.2  聊天室的主程序——后置

 程序代码 562

20.6  同时使用多个CallBack 564

20.7  ICallbackEventHandler接口的

 不同写法 567

20.8  Client CallBack的组件 568