《ASP.NET编程之道》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:刘云峰,房大伟编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115243584
  • 页数:558 页
图书介绍:本书包括:细说开发人员多年的编程经验、感悟细说开发人员必知必会的100个关键细节,细说开发人员不可忽略的30个技术陷阱,细说开发人员意识中的20个常见谬误细说开发高手的20经典应用实例。

第1篇 编程经验与感悟篇 2

第1章 编程感悟6则 2

感悟01程序员的成长之路 2

感悟02程序员应具备的素质 3

感悟03程序员的必备技能 4

感悟04程序员的认识误区 5

感悟05程序员的生涯规划 6

感悟06未来IT发展趋势 7

第2章 编程经验谈6则 9

经验01培养编程的兴趣 9

经验02编程学习经验谈 10

经验03代码规范经验谈 12

经验04数据库设计经验谈 13

经验05项目实战经验谈 15

第2篇 陷阱或谬误篇 18

第3章 不可忽视的30个技术陷阱 18

陷阱01版本不一致产生的陷阱 18

陷阱02结构初始化产生的陷阱 21

陷阱03传递派生类产生的陷阱 23

陷阱04用DataReader读取数据时产生的陷阱 25

陷阱05类型转换时产生的陷阱 26

陷阱06以DataReader作为返回类型的陷阱 28

陷阱07 GridView绑定DataReader产生的陷阱 30

陷阱08 SqlDateTime溢出陷阱 33

陷阱09写网站中XML文件产生的陷阱 35

陷阱10访问下拉列表控件的SelectedValue属性产生的陷阱 37

陷阱1t动态加载用户控件的陷阱 39

陷阱12 JavaScript设置服务器控件值 41

陷阱13放置隐藏字段的陷阱 43

陷阱14动态加载设置输出缓存的用户控件 45

陷阱15 为删除按钮添加删除确认对话框 47

陷阱16页面在客户端转向的陷阱 49

陷阱17 Web Service方法重载产生的陷阱 50

陷阱18编写JavaScript代码时的空格陷阱 52

陷阱19使用可空符号运算 54

陷阱20获取错误信息并到指定页面 56

陷阱21使用LINQ的First方法 58

陷阱22文件格式与文件读取的陷阱 60

陷阱23读写二进制文件的陷阱 61

陷阱24母版页中使用img标签 63

陷阱25页面缓存产生的陷阱 65

陷阱26使用查询字符串在页面间传递参数 67

陷阱27通用数据类型运算产生的陷阱 70

陷阱28在模态窗口中下载文件 71

陷阱29构造方法中调用虚方法的陷阱 75

陷阱30使用值类型进行线程同步 77

第4章 开发人员意识中的20个常见谬误 80

谬误01所有的异常都要使用try.catch语句捕获 80

谬误02 Web控件的Enabled功能等价于HTML控件的disabled属性 81

谬误03将Session设置为空就是删除该会话状态 82

谬误04 RegisterStartupScript方法不能向页面输出文本 83

谬误05数据绑定表达式会自动计算它的值 84

谬误06事件和委托的差别很大 84

谬误07 Visual C# 2008具有的特征Visual Basic 2008都具有 85

谬误08 .NET中的应用程序域和操作系统中的进程完全相同 86

谬误09 C#中没有全局变量 87

谬误10 .NET和SQL Server中“空值”是一回事 87

谬误11 C#的结构和C++的完全一样 87

谬误12方法中只有引用类型的参数才能实现引用传递 88

谬误13字符串是值类型 88

谬误14数据绑定表达式中Eval功能等价于Bind 89

谬误15 .Net中的数组类型和C++的数组没有区别 90

谬误16泛型不被指定的情况下是不确定的类型 91

谬误17 Object类型比较方法上的一些误解 92

谬误18 .NET中的线程等价于Win32线程 93

谬误19 TextBox控件依靠ViewState保存状态数据 94

谬误20必须在页面添加<link>元素才能使用CSS文件中的样式 95

第3篇 技术细节篇 100

第5章 必知必会的40个C#语言方面的技术细节 100

细节01给C#代码加注释的意义 100

细节02装箱和拆箱 102

细节03理解值类型和引用类型 103

细节04隐式转换和显式转换 106

细节05前缀方式增1和减1运算符 108

细节06理解移位运算符 110

细节07理解运算的次序 111

细节08理解参数的类型 112

细节09重载方法 116

细节10虚方法与重写方法 117

细节11结构和类的区别 119

细节12什么是封装 122

细节13什么是继承 124

细节14什么是多态性 125

细节15 作用域的概念 128

细节16使用索引器 129

细节17 base和this关键字 130

细节18理解静态修饰符 131

细节19 .Net的object类 133

细节20细说可空类型 134

细节21分部类 136

细节22匿名方法 137

细节23 .Net框架提供的属性(Attribute) 138

细节24自定义属性类(Attribute) 140

细节25泛型 142

细节26包含/委托 144

细节27实现迭代器 146

细节28压缩和解压缩流的方法 149

细节29 C#中的深复制和浅复制 152

细节30全角字符转换为半角 153

细节31分析路径字符串函数总结 154

细节32 重载一元、二元运算符 156

细节33对象也能排序 157

细节34实现IDisposable接口清除对象 159

细节35将字符串转为字符数组 160

细节36将字符数组写入到字符串 161

细节37使用var创建隐型局部变量 162

细节38 Lambda表达式 163

细节39生成缩略图的方法 164

细节40使用缓冲流 166

第6章 必知必会的28个ADO.NET、XML及LINQ方面的技术细节 168

细节01 ADO.NET调用存储过程插入数据 168

细节02 ADO.NET调用存储过程查询数据 170

细节03 ADO.NET仅影响一行的数据操作 171

细节04 ADO.NET返回多行数据操作 175

细节05 ADO.NET影响多行的数据操作 176

细节06 ADO.NET得到多组数据 179

细节07 DataSet操作XML文件 180

细节08 XML节点操作 183

细节09用XmlReader读取XML 186

细节10用XmlWriter写入XML 187

细节11 DataReader对象与DataSet对象的区别 188

细节12对象的筛选操作 190

细节13对象的投影操作 191

细节14对象的排序操作 192

细节15 对象的聚合操作 195

细节16对象的集合操作 199

细节17对象的元素操作 202

细节18对象的联接操作 203

细节19查询DataSet中的单个表 205

细节20查询DataSet中的多个表 207

细节21对DataSet进行投影操作 208

细节22对DataSet进行筛选操作 209

细节23对DataSet进行排序操作 210

细节24对DataSet进行聚合操作 212

细节25对DataSet进行元素操作 212

细节26对DataSet进行联接操作 213

细节27对DataSet进行数据分区操作 215

细节28使用LINQ数据源控件 216

第7章 必知必会的22个Web方面的技术细节 220

细节0l在网页中使用CSS的方式 220

细节02动态调用JavaScript 222

细节03用Request对象获得信息 224

细节04用Response对象输出信息 225

细节05 URL编码与解码 226

细节06取站点路径 228

细节07 ViewState 228

细节08隐藏域 229

细节09 Cookie 230

细节10 Application 232

细节11 Session 233

细节12定义主题 234

细节13应用主题 238

细节14动态加载主题 239

细节15母版页 242

细节16设置母版页应用范围 246

细节17数据格式验证 247

细节18 ImageMap典型应用 249

细节19 MultiView和View控件典型应用 252

细节20 Wizard控件典型应用 257

细节21 DetailsView典型应用 262

细节22 BulletedList典型应用 267

第4篇 开发技巧篇 272

第8章 必知必会的30个语言方面的经验技巧 272

技巧01 Parse与TryParse的区别 272

技巧02变量的默认值 273

技巧03判断字符串是否为空 273

技巧04使语句执行安全的数学计算 274

技巧05多用Foreach语句 275

技巧06理解按位求反运算符 275

技巧07关闭字符串中的特殊字符 276

技巧08接口和抽象类的选择 276

技巧09取枚举类子项的描述信息 277

技巧10接口索引器 278

技巧11创建自己的Where操作符 278

技巧12使用new关键字重复使用标识符 280

技巧13实现具有相同名称的接口方法 281

技巧14使用is关键字处理接口 282

技巧15使用非整数表示数组的索引 283

技巧16尽量用StringBuilder 284

技巧17对比ArrayList和List<T> 285

技巧18对比Stack和Stack<T> 286

技巧19对比 Queue和Queue<T> 287

技巧20对比SortedList和StoredList<T> 287

技巧21进制转换技巧 288

技巧22什么是复制构造函数 289

技巧23 ToString的使用技巧 290

技巧24什么时候使用密封类 291

技巧25 using关键字的用法 292

技巧26对象和集合初始化器 293

技巧27创建匿名类型的对象、数组 293

技巧28善于使用代码重构 294

技巧29善于使用条件编译 295

技巧30标准化事件驱动的设计 296

第9章 必知必会的15个ADO及XML方面的经验技巧 298

技巧01在数据库连接中使用连接池 298

技巧02如何更有效地管理连接字符串 299

技巧03使用DataV iew操作数据集 300

技巧04效率最高的数据读取方式 301

技巧05从XML中加载数据集 302

技巧06从XML中加载数据集架构信息 303

技巧07根据数据集生成XML及XML框架 304

技巧08强类型的DataSet 306

技巧09数据集与XML建立同步关联 307

技巧10数据关系导航DataRelation 308

技巧11合并两个数据集的数据内容 309

技巧12复制数据集 310

技巧13动态创建DataTable技术全析 310

技巧14 DataTable行状态与行版本 313

技巧15 实现数据表行列转换 314

第10章 必知必会的40个LINQ方面的经验技巧 316

技巧01查询非泛型集合 316

技巧02筛选指定类型元素 317

技巧03转换为泛型列表 318

技巧04转换为数组 318

技巧05转换为字典类型 319

技巧06转换为一对多的字典 320

技巧07创建包含默认元素或空值的集合 321

技巧08比较两个数据表数据是否完全相同 322

技巧09创建指定范围值的序列 323

技巧10创建包含指定数量重复值的序列 323

技巧11 LINQ查询中的限定符 324

技巧12查询序列中指定区域的元素 325

技巧13判断两个序列是否相等 326

技巧14将两个序列串联起来 327

技巧15 使用嵌套查询 327

技巧16操作泛型排序列表 329

技巧17操作泛型双向链表 330

技巧18操作泛型队列 331

技巧19按照多个条件分组 332

技巧20操作泛型哈希集合 333

技巧21实现LINQ动态查询的方法 334

技巧22操作泛型排序字典 336

技巧23查找字符串中指定类型的字符 337

技巧24过滤出包含指定单词的句子 337

技巧25统计每个单词在文章中的出现次数 339

技巧26查找在文章中以ing结尾的单词 340

技巧27取两个目录中的同名文件 341

技巧28使用LINQ创建DataView 342

技巧29使用LINQ创建XML文件 343

技巧30添加元素到XML文件 344

技巧31修改XML文件中的元素 345

技巧32删除XML文件中的元素 347

技巧33将XML文件中的属性转换为元素 348

技巧34查找指定名称的文件 349

技巧35查找指定属性的文件 350

技巧36查找包含指定内容的文件 351

技巧37合计XML元素值 351

技巧38将字符串数组按元素长度分组 352

技巧39使用LINQ为ListView提供数据 353

技巧40获得序列中元素的索引位置 354

第11章 必知必会的65个Web方面的经验技巧 356

技巧01用meta标签来增强网页性能 356

技巧02给服务器控件添加不存在的属性 357

技巧03如何动态使用表格 358

技巧04 PlaceHolder容器控件的使用技巧 359

技巧05用框架定制页面布局的技巧 360

技巧06在HTML中创建ArrayList对象 362

技巧07 Javascript和C#之间的互相调用与访问 362

技巧08自定义实现让TextBox控件只能输入数字 364

技巧09绝对路径表示方法 365

技巧10在刷新或提交页面后保持页面滚动条的位置 366

技巧11设置Web窗体的默认按钮 366

技巧12设置Web窗体的默认焦点控件 367

技巧13页面传值方式博览 367

技巧14动态创建客户端脚本 368

技巧15 HyperLink和LinkButton按钮的区别 369

技巧16用最简单的方法实现站点导航 370

技巧17以编程方式向TreeView控件中添加节点 372

技巧18 Menu控件绑定站点地图实现导航 373

技巧19网页代码文件中定义变量的技巧 373

技巧20实现GridView无刷新换页及排序 374

技巧21合理使用GridView 375

技巧22使用GridView实现简单排序功能 375

技巧23 GridView上加滚动条 377

技巧24删除行时弹出确认对话框 378

技巧25改变GridView当前行的颜色 379

技巧26单击GridView中的按钮执行客户端脚本 379

技巧27设置GridView列的显示格式 380

技巧28将DropDownList控件嵌入GridView 381

技巧29将CheckBox控件嵌入GridView 382

技巧30实现自动编号功能 383

技巧31实现用“…”代替超长字符串 383

技巧32 GridView一般换行与强制换行 384

技巧33创建表头固定表体可滚动的GridView 386

技巧34为GridView加入小计 386

技巧35页面跳转方法对比分析 387

技巧36关闭子窗口时刷新父窗口 388

技巧37使用主题实现网页皮肤动态切换 388

技巧38访问母版页中的成员 390

技巧39访问母版页中控件的值 391

技巧40自定义HTTP处理程序 392

技巧41 HTTP模块 393

技巧42缓存页面的技巧 394

技巧43尽量使用数据缓存 395

技巧44使用脚本管理控件引入脚本资源 396

技巧45使用Timer控件实现记时器功能 398

技巧46使用UpdatePanel控件实现局部更新 399

技巧47多个UpdatePanel控件之间的关系 400

技巧48为控件添加水印提示 401

技巧49智能提示输入密码的强度 403

技巧50无刷新播放照片 404

技巧51实现弹出模态窗体 406

技巧52实现日期选择下拉框 407

技巧53为异步操作提供进度提示 408

技巧54使用缓存区输出图像 409

技巧55使用jQuery实现带进度的上传文件功能 411

技巧56如何下载大文件 413

技巧57在GridView中跨页面实现多行选择 414

技巧58在浏览器中访问Word文件 415

技巧59通过Forms身份验证之前也能访问网站资源 416

技巧60利用PostBackUrl属性实现页面传值 417

技巧61在Table控件中显示标题 418

技巧62在Web页中使用广告控件 418

技巧63在Web页中滚动显示公告信息 419

技巧64为TextBox控件设置热键 420

技巧65实现客户端回调CallBack 421

第5篇 算法和效率篇 424

第12章 常用的20个算法及应用 424

算法01单向链表 424

算法02双向链表 430

算法03堆栈 437

算法04队列 439

算法05树的实现 441

算法06冒泡排序算法 446

算法07选择排序算法 447

算法08插入排序算法 449

算法09希尔排序算法 450

算法10判断素数的算法 451

算法11加密和解密算法 452

算法12判断身份证是否合法 454

算法13判断IP地址是否合法的算法 456

算法14按要求生成指定位数编号 457

算法15 身份证号从15位升到18位算法 459

算法16百钱百鸡的算法 460

算法17韩信点兵的算法 462

算法18实现裴波纳契数列求和 463

算法19求水仙花数的算法 464

算法20如何将B转换成GB、 MB和KB 465

第6篇 解决方案篇 468

第13章 项目中经常用到的20个解决方案 468

方案01 GridView绑定数据为空时也显示表头 468

方案02构建通用权限系统的解决方案 472

方案03构建安全网站的全套方案 478

方案04在Web页面中使用模态窗口 485

方案05 CornmandBuilder类自动生成DataAdapter的更新命令 488

方案06实现分布式事务的方案 489

方案07提供一种与.Net环境集成度好的ORM方案 490

方案08基于XSD的XML验证方案 493

方案09在线汉字转拼音 497

方案10多层系统框架设计方案 500

方案11实现日志管理的方案 505

方案12创建多语言版本网站 511

方案13网页打印的全套解决方案 515

方案14实现GridView多级复杂表头的解决方案 521

方案15 登录网站验证方案 524

方案16异步调用WebService 531

方案17在线压缩和解压缩文件 534

方案18更换网站皮肤的方案 540

方案19自动适应不同数据库的数据访问层 546

方案20实现真正的分页功能 552