《ASP.NET案例精编 适用于VS2005/2008》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:周栋祥,吴进鲁编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302198895
  • 页数:568 页
图书介绍:本书由浅入深地介绍了使用ASP.NET 2.0/0.5快速开发动态网站的方法,全书共分4篇。

基础入门篇 1

第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 Framework3.5版的新功能 14

1.10.1 ASP.NET的增强功能 14

1.10.2 Ajax开发 15

1.10.3 Web Service和应用程序服务 15

1.11 .NET3.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语法与SQLServer 119

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

5.2 新增一个数据表并设计字段 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 新增记录 136

5.10 删除记录 137

5.11 修改记录 137

5.12 本章小结 137

实作练习篇 138

第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 案例分析(Ⅰ)—两个程序,各自展示 211

9.1.1 Master功能的网页 211

9.1.2 GridView的超级链接字段 213

9.1.3 Master功能—商务网站的做法 216

9.1.4 Detail功能(GridView2,另外一支程序) 215

9.1.5 范例与完整程序代码 221

9.2 案例分析(Ⅱ)—同一个程序,两个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 案例分析(Ⅲ)—同一程序中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 案例分析(Ⅳ)—同一程序中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 案例分析(Ⅰ)—动手修改Repeater模板 340

12.8.5 案例分析(Ⅱ)—隔行换色AlternatingItem模板 343

12.8.6 案例分析(Ⅲ)—实现Master-Detail功能 344

核心概念篇 354

第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 OLEDB数据库 354

13.4.2 SQLServer数据库 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.NET3.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文件(Ⅰ) 410

14.3.3 将DataSet转成XML文件(Ⅱ) 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 案例分析(Ⅰ)—在整个网站内共享变量 450

16.1.3 案例分析(Ⅱ)—锁定后才可修改Application 452

16.2 Session(HttpSessionState类型) 453

16.2.1 案例分析(Ⅰ) 453

16.2.2 Session简介 456

16.2.3 HttpSessionState的属性 457

16.2.4 HttpSessionState的方法 459

16.2.5 案例分析(Ⅱ)—检查用户身份 459

16.2.6 案例分析(Ⅲ)—会员登录、后台管理 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

应用技巧篇 488

第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 案例分析(Ⅰ)访问计数器(图片版) 500

17.7 案例分析(Ⅱ)—程序执行中的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章 Web2.0的王牌—Ajax与Client CallBack 524

19.1 为什么要使用Ajax 524

19.2 VS2005中如何新增Ajax 526

19.3 案例分析(Ⅰ)—Ajax版的Master-Detail功能 527

19.3.1 新建一个Ajax网页(WebForm) 527

19.3.2 Ajax的核心—UpdatePanel控件 529

19.4 UpdatePanel的“内”与“外” 531

19.5 案例分析(Ⅱ)—定时启动UpdatePanel区块 532

19.6 案例分析(Ⅲ)—嵌套UpdatePanel区块 533

19.6.1 很简单但又很难一次性做对的练习 533

19.6.2 UpdateMode与ChildrenAsTriggers属性 534

19.6.3 最重要的Triggers属性 535

19.7 案例分析(Ⅳ)—Master-Detail范例(改良版) 537

19.8 案例分析(Ⅴ)—让您想像不到的ListView 538

19.8.1 Item与AlternatingItem模板的Ajax化 539

19.8.2 ListView的各种模板中的控件ID不能同名 540

19.9 案例分析(Ⅵ)—聊天室+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