ASP.NET案例精编——适用于VS2005/2008

ASP.NET案例精编——适用于VS2005/2008"

作者:周栋祥、吴进鲁
ISBN:9787302198895
定价:¥59.80
字数:千字
页数:
出版时间:2009.05.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书由浅入深地介绍了使用ASP.NET 2.0/3.5快速开发动态网站的方法。全书分“基础入门篇”、“实作练习篇”、“核心概念篇”和“应用技巧篇”,共4篇,总计20章。

与ASP.NET同类图书不同的是,本书重视可视化操作,插图丰富、细致;开发过程中完全使用Visual Studio 2005/2008为工具,符合时代潮流;编程语言为Visual Basic,体现了开发操作和编程的简单性。本书的最大特点是作者毫无保留地公开了很多开发秘诀。书中对ASP.NET技术所做的横向、纵向比较贯穿于始终,充分体现了以设计为主导的、以可视化操作为主体的开发线路,有利于学习者在最短的时间内迅速学会ASP.NET动态网站开发的实用技能,进而掌握.NET框架体系的精髓。

配书光盘中提供了书中涉及的所有源程序(网站项目),均经过严格的测试,并配有详细的使用说明。

本书适合具有Visual Basic编程基础、想学习ASP.NET网站开发技术的读者阅读。另外,具有C#编程基础的读者也能从书中学会大量的可视化操作技巧。本书实际上是一本成熟的上课讲义,所以也适合作为培训教材。

前言

本 书 导 读

当您拿起本书时,请允许我向您询问几个问题:

? 是否买了很多书,却总是学不会?

? 每一个功能都玩过,但就是写不出一个整合的商务网站?

? 如果您遇见过这种问题——恭喜您!您现在找对书本了!

当了一段时间的Web程序设计师之后,更有机会在资策会教育训练中心担任两年讲师,让我发觉自己的教学方式与授课范例是独特而无法取代的。经过多次的整理之后,2004年6月推出第一本ASP.NET教科书。有别于其他书本使用传统编辑器,我们则以Visual Studio来编写.NET,那本书开创了ASP.NET书籍的新领域与新方向!

随着ASP.NET 2.0/3.5的推陈出新,我们也一路修改书本的内容。中国台湾省市面上的ASP.NET书籍在我们的引领下,已经全数配合VS2005/2008来开发与教学。

回首当年,更确定我们走了一条正确的道路,提供了正确的学习管道来帮助初学者。

特别感谢:

? 当年在资策会教育训练中心(台南、高雄),多届的500小时就业辅导班学员,是学生们给予的历练,我才能累积许多教学经验。并利用自己在工作中获得的案例,将毫无基础的初学者在72小时内带领到Web程序设计的定位。

? Internet上的许多网友抢先阅读本书的ASP.NET 1.x版。是他们的鼓励与指正,让我知道——这本书的内容与教学方法是大家真正想要的ASP.NET学习方法。

? 网络上各大论坛的网友在网络上互相切磋,除了提升彼此的功力外,更让我们获得了2008年微软MVP(最有价值专家)的殊荣。

这本书不会让您失望。因为已经有太多实务上的锤炼,更有教学经验上的传承。希望这本书能让我们的实务开发与教学经验完全地分享给大家。

MIS2000 Lab.敬上   2008年5月5日

<附>

1. 本书作者简介

周栋祥:政治大学信息管理研究所博士,中正大学信息管理研究所硕士。

吴进鲁(笔名):屏东科技大学信息管理研究所硕士。

2. 审稿教授简介

吴盛:中山大学信息管理博士。南台科技大学信息管理学系专任助理教授。

3. 本书导读

(1) 需要的软件和硬件

? 操作系统:Windows 2000/2003 Server或Windows Vista/XP(最好具备IIS功能)。

? .NET Framework 2.0~3.5版皆可,从http://www.asp.net/可以免费下载。

? 开发工具:Visual Studio 2005/2008,不建议使用精简版(Express)。

? 数据库:建议配合SQL Server 2000/2005或Office的Access。

? 计算机硬件:CPU只要1GHz以上,RAM至少512MB(建议1GB较顺畅)。

(2) 给学生(初学者)的话

在资策会担任讲师的那两年,如果我能把这么多外行人,通过500小时的密集训练,让他们具备职业能力,进入软件公司写程序,那表示我们真的有一套很棒的学习准则,请您一定要听我说——

① 写程序之前,基本的设置功夫还是要亲自学起。包含软件的安装、环境的设置、数据库的配置等。简言之,学功夫要从基础学起,要自己历练过一遍,千万不要想等别人把环境架好,我们再去写程序(这在现实生活与工作职场上都是白日梦)。可以的话,尽量自己实现看看。

② 即使是慢慢打字,也是初学者不可逃避的基本功夫。因为有些字就是容易打错,就是要靠错误把自己的“盲点”给逼出来。打字可以辅助我们记忆,加强学习力度。

③ 千万不要直接复制范例去改,就以为自己学会了。请慢慢打字,练习手脑并用。想学好功夫,必须从基本的蹲马步开始。如果马步不稳(连打字都想偷懒),那将来必定一败涂地。或是想用别人写好的程序来修改(因为懒惰,不想打字),这类学生最后学到的东西都是漏洞百出、基础不牢靠而摇摇欲坠!

④ 我看过不少学生,都是一开始天资过人,但到了课程最后,程度与实现能力反而输给班上的整体水平,甚为可惜!请初学者不要忽略小事,想一步登天,务必放慢速度,按部就班,一切亲自动手试试看!

(3) 给老师的话

本书适合一个学期(约72小时左右)的ASP.NET程序设计课程。在资策会教育训练中心500小时的就业辅导班中,ASP.NET这门课是放在数据库课程之后,我也建议学生学会基本的SQL指令之后,再来学习ASP.NET。

课程规划:先学数据库与SQL指令,然后再学ASP.NET程序设计。

① 如果时间不足,传统HTML码不需深入讲解,利用FrontPage或Dreamweaver来设计即可。

② 建议老师专心介绍“Web控件”,这是ASP.NET的全新革命。

③ 然后是DataReader与DataSet的观念区分(还有ADO.NET章节,也是着重于观念的启迪)。

④ 最后是利用GridView与ListView各种范例的反复练习,直到学生熟练。

⑤ 本书的许多范例强调“综合练习”,让学生能反复练习。这些功能也是每个网站必备的,是很难得的实务范例。

简言之,本书有两大重点:

? 了解概念。尤其是ADO.NET的DataReader与DataSet。

? 反复练习。尤其是常用的Web控件,如GridView与ListView。

只要学生能学会这些东西,并且有时间“亲自动手”,慢慢打字或练习,绝对比上课赶进度来得重要。千万不要让学生复制书本的范例来练习(一开始就乱改别人写好的程序,大错特错),事实证明,这铁定会一无所得。即使慢慢打字,也能让学生通过练习,无形中慢慢积累经验,这个步骤千万不要忽略。

依照进度,每一节课(每次上3个小时)都能完成一个章节范例(让学生慢慢打字练习,因为程序代码极少,大部分的工作都由VS2005/2008帮我们完成了)。到了学期末,学生一定会自己写程序了,而且具备了ASP.NET程序开发的“基本生产力”。

关于本书范例的数据库,请自己依照书中的步骤来配置,因为“建立数据库”的基本步骤也是程序设计师应该学会的基本功夫。

目录

目    录

基础入门篇

 

第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 

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个