图书介绍

精通Visual C# 2005-语言基础、数据库系统开发、Web开发2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

精通Visual C# 2005-语言基础、数据库系统开发、Web开发
  • 王石编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115139288
  • 出版时间:2007
  • 标注页数:578页
  • 文件大小:203MB
  • 文件页数:615页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

精通Visual C# 2005-语言基础、数据库系统开发、Web开发PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1.1 微软公司的梦想3

1.1.2 .NET能做什么3

第1篇 C#编程基础3

第1章 C#与.NET Framework简介3

1.1 什么是.NET Framework3

1.1.3 认识.NET4

1.2.1 C#与.NET5

1.2 什么是C#5

1.2.2 与其他语言的比较6

1.2.3 C#的特点7

1.3.1 Visual Studio.NET开发环境8

1.3 第一个C#程序:Hello World8

1.3.2 第一个Windows Console程序9

代码1-1 控制台HelloWorld示例:HelloWorld.cs10

1.3.3 第一个Windows Form程序11

1.3.4 第一个ASP.NET程序12

1.3.5 源代码简短分析14

温故知新15

2.1.1 值类型17

第2章 C#程序设计基础17

2.1 数据类型17

2.1.2 引用类型20

2.1.3 类型转换21

2.1.4 装箱和拆箱22

2.2.2 声明和使用变量23

2.2 变量和常量23

2.2.1 命名变量23

2.2.3 声明和使用常量24

2.3.3 赋值运算符25

2.3 运算符25

2.3.1 算数运算符25

2.3.2 字符串运算符25

2.3.6 其他运算符26

2.3.4 逻辑运算符26

2.3.5 位运算符26

2.4.1 使用if语句实现分支27

2.3.7 运算符的优先级27

2.4 流程控制27

代码2-1 if语句示例:Class 1.cs28

2.4.2 使用switch语句实现分支29

2.4.3 使用while语句实现循环30

代码2-2 switch语句示例:Class 1.cs30

2.4.4 使用for语句实现循环31

代码2-3 while语句示例:Class 1.cs31

2.4.5 使用break/continue控制循环32

代码2-4 for语句示例:Class 1.cs32

代码2-5 break continue语句示例:Class 1.cs32

2.4.6 使用#define进行条件编译33

2.5.1 用类搭建程序33

2.5 程序的结构33

代码2-6 #define语句示例:Class 1.cs33

2.5.2 使用命名空间35

代码2-7 namespace语句示例:Class 1.cs35

2.6 异常处理36

2.5.3 寻找程序的入口36

代码2-8 try、catch和finally语句示例:Class 1.cs37

温故知新38

第3章 类39

3.1.1 声明类39

3.1 定义类39

代码3-1 public和private示例:Class 1.cs41

3.1.2 声明类的静态特征41

3.1.3 声明类的动态行为42

代码3-2 声明方法示例:Class 1.cs42

3.1.4 创建类实例43

3.1.5 继承类43

3.2 Visual Studio.NET中的OOP工具44

3.2.1 使用Class View窗口44

代码3-3 类继承示例:Class 1.cs44

3.2.2 使用Object Browser45

3.3.1 域和属性46

代码3-4 域和属性示例:Class 1.cs46

3.3 属性详谈46

3.3.2 静态属性47

代码3-5 静态属性示例:Class 1.cs47

3.3.3 重载属性48

代码3-6 属性重载示例:Class 1.cs48

3.4.1 方法的参数49

3.4 方法详谈49

代码3-7 使用ref传递引用参数示例:Class 1.cs50

代码3-8 使用out传递输出参数示例:Class 1.cs50

代码3-9 使用params传递多个参数示例:Class 1.cs51

3.4.3 使用析构函数52

3.4.2 使用构造函数52

代码3-10 构造函数示例:Class 1.cs52

3.4.4 使用静态方法53

代码3-12 静态方法示例:Class 1.cs53

代码3-11 析构函数示例:Class 1.cs53

3.4.5 重载方法54

代码3-13 方法重载示例:Class 1.cs54

3.4.6 访问父类方法55

代码3-14 访问父类方法示例:Class 1.cs55

3.4.7 重载运算符56

代码3-15 运算符重载示例:Class 1.cs56

温故知新57

第4章 抽象类、多态及接口59

4.1 抽象类59

4.1.1 什么是抽象类59

4.1.2 声明抽象类60

4.1.3 实现抽象方法60

代码4-2 实现运动员抽象方法:Class 1.cs60

代码4-1 定义运动员抽象类:Class 1.cs60

4.2 多态61

代码4-3 使用多态性示例:Class 1.cs62

4.2.2 多态的实现62

4.2.1 什么是多态62

4.3.1 什么是接口63

4.3.2 声明接口63

4.3 接口63

4.2.3 区分多态和重载63

代码4-4 声明IShape接口:Class 1.cs64

4.3.3 实现接口64

代码4-5 继承IShape接口实现矩形类:Class 1.cs65

代码4-6 使用接口实现多态示例:Class 1.cs65

温故知新66

第5章 调试和异常处理67

5.1.1 使用Visual Studio.NET错误报告67

5.1 程序调试技术67

代码5-1 具有逻辑错误的代码示例:Class 1.cs68

5.1.2 寻找逻辑错误68

5.1.3 单步执行程序69

5.1.4 设置断点69

5.1.5 在哪里设置断点70

代码5-2 未处理异常的代码示例71

代码5-3 使用try-catch处理异常的代码示例71

5.2.1 使用try-catch-finally71

5.2 异常处理71

代码5-4 结构良好的矩形类实现72

5.2.2 使用系统日志72

5.3 高质量编码标准72

5.3.1 好的编码结构72

5.3.2 好的注释风格73

代码5-6 具有良好注释的矩形类实现73

代码5-5 结构混乱的矩形类实现73

5.3.3 好的命名规范75

代码5-7 方法功能独立的矩形类实现75

5.3.4 避免文件过大75

代码5-8 方法功能混乱的矩形类实现76

代码5-9 异常处理的方法示例76

5.3.5 使用异常处理76

温故知新77

代码5-10 异常未处理的方法示例77

第2篇 C#核心技术81

第6章 C#.NET类库框架81

6.1 .NET命名空间框架81

6.2 编程基础命名空间82

6.3 数据操作命名空间82

6.4 Web应用命名空间83

6.6 组件模型命名空间84

6.5 Windows应用命名空间84

6.8 安全控制命名空间85

6.7 框架服务命名空间85

6.10 工程配置命名空间86

6.9 网络应用命名空间86

6.11 全球/本地化命名空间87

6.12 反射命名空间87

温故知新88

第7章 字符串操作89

7.1 静态串String89

7.1.1 比较字符串90

代码7-1 使用Compare比较两个字符串示例:Class 1.cs90

代码7-4 使用==和!=比较两个字符串示例:Class 1.cs91

代码7-3 使用Equals比较两个字符串示例:Class 1.cs91

7.1.2 定位字符和子串91

代码7-2 使用CompareTo比较两个字符串示例:Class 1.cs91

代码7-5 使用StartsWith判断首字符串示例:Class 1.cs92

代码7-6 寻找子串位置示例:Class 1.cs93

7.1.3 格式化字符串93

代码7-7 设置字符串格式示例:Class 1.cs93

7.1.4 连接字符串94

代码7-10 使用“+”连接字符串示例:Class 1.cs94

代码7-9 使用Join连接字符串示例:Class 1.cs94

代码7-8 使用Concat连接字符串示例:Class 1.cs94

7.1.5 分裂字符串95

7.1.6 插入和填充字符串95

代码7-11 使用Split分裂字符串示例:Class 1.cs95

代码7-12 使用Insert插入字符串示例:Class 1.cs95

代码7-14 使用Remove删除字符串示例:Class 1.cs96

代码7-13 使用PadLeft填充字符串示例:Class 1.cs96

7.1.7 删除和剪切字符串96

代码7-15 使用Trim去掉首尾的特殊符号示例:Class 1.cs97

代码7-16 使用Copy复制字符串示例:Class 1.cs97

7.1.8 复制字符串97

代码7-17 使用CopyTo复制字符串示例:Class 1.cs97

7.2 动态串StringBuilder98

代码7-18 使用Replace替换字符串示例:Class 1.cs98

7.1.9 替换字符串98

7.1.10 更改大小写98

代码7-19 使用ToUpper更改字符串大小写示例:Class 1.cs98

7.1.11 String小结98

7.2.1 声明StringBuilder串99

7.2.2 设置StringBuilder容量99

7.2.3 追加操作100

代码7-20 使用Append追加字符串示例:Class 1.cs100

代码7-23 使用Remove删除字符串示例:Class 1.cs101

7.2.4 插入操作101

7.2.5 删除操作101

7.2.6 替换操作101

代码7-21 使用AppendFormat追加特定格式的字符串示例:Class 1.cs101

代码7-22 使用Insert插入字符串示例:Class 1.cs101

7.3.1 字符编码概述102

代码7-24 使用Replace替换字符串示例:Class 1.cs102

7.2.7 与String比较102

7.3 字符串编码102

7.3.2 使用字符编码类103

代码7-25 显示编码形式示例:Class 1.cs104

7.4 使用正则表达式105

7.4.1 正则表达式简介106

7.4.2 使用Regex类106

7.4.3 构造正则表达式107

代码7-26 验证电子邮件地址示例:Class 1.cs107

7.4.4 示例:验证URL109

代码7-27 验证URL示例:Class 1.cs110

温故知新110

8.1.1 数组的概念111

第8章 数组111

8.1 C#数组简介111

代码8-1 输出数组元素:Class 1.cs112

8.1.2 多维数组112

8.1.3 创建C#数组113

8.2 使用数组114

8.2.1 System.Array类114

8.2.2 访问数组元素115

代码8-2 输出交错数组元素:Class 1.cs116

代码8-3 使用GetValue输出二维数组元素示例:Class 1.cs117

代码8-4 利用for语句遍历数组示例:Class 1.cs117

8.2.3 遍历数组117

8.2.4 同步数组118

代码8-7 利用Sort排序数组示例:Class 1.cs118

代码8-5 利用foreach遍历数组示例:Class 1.cs118

代码8-6 利用lock同步数组示例:Class 1.cs118

8.2.5 数组排序118

代码8-8 利用Sort实现数组多关键字排序示例:Class 1.cs119

8.2.6 查找元素120

代码8-9 利用BinarySearch搜索数组元素示例:Class 1.cs120

代码8-10 利用Contains判断数组是否包含某个元素示例:Class 1.cs120

8.2.7 反转数组121

代码8-11 利用Reverse反转数组示例:Class 1.cs121

8.2.8 复制数组122

代码8-12 利用Copy复制数组示例:Class 1.cs122

8.2.9 动态创建数组123

代码8-13 利用CopyTo复制数组示例:Class 1.cs123

代码8-14 利用CreateInstance动态创建数组示例:Class 1.cs123

8.2.10 综合示例124

代码8-15 图书类Book的实现代码:Class 1.cs125

代码8-16 按图书名显示图书实现代码:Class 1.cs126

代码8-17 BookList类完整实现代码:Class 1.cs126

代码8-18 Main函数:Class 1.cs127

温故知新128

第9章 集合129

9.1 System.Collections命名空间129

9.2 ArrayList类130

9.2.2 添加元素131

9.2.1 创建列表131

代码9-2 向ArrayList中插入元素示例:Class 1.cs132

9.2.3 插入元素132

代码9-1 向ArrayList中添加元素示例:Class 1.cs132

9.2.4 删除元素133

代码9-3 从ArrayList中删除元素示例:Class 1.cs133

9.2.5 简单排序133

代码9-4 使用Sort方法对列表排序示例:Class 1.cs134

9.2.6 复杂排序134

代码9-5 使用Compare方法实现逆比较示例:Class 1.cs134

代码9-6 使用BinarySearch方法查找元素示例:Class 1.cs135

9.2.7 查找元素135

代码9-7 使用foreach遍历列表示例:Class 1.cs136

代码9-8 使用GetEnumerator遍历列表示例:Class 1.cs136

9.2.8 遍历列表136

9.3.1 创建队列137

9.3 Queue类137

9.3.2 元素入队138

代码9-9 使用Enqueue元素入队示例:Class 1.cs138

9.3.3 元素出队138

代码9-10 使用Dequeue元素出队示例:Class 1.cs139

9.4 Stack类139

9.4.1 创建堆栈139

9.4.2 元素入栈140

代码9-11 使用Push元素入栈示例:Class 1.cs140

9.4.3 元素出栈140

代码9-12 使用Pop元素出栈示例:Class 1.cs140

9.5 Hashtable类和SortedList类141

9.5.1 Hashtable141

9.5.2 构造普通散列表142

代码9-13 使用Hashtable对象实现散列表示例:Class 1.cs142

代码9-14 使用Hashtable对象实现散列表示例:Class 1.cs143

代码9-15 搜索散列表示例:Class 1.cs144

9.5.3 SortedList144

9.5.4 搜索排序散列表144

代码9-16 搜索散列表调用示例:Class 1.cs146

温故知新147

10.1.1 数据访问技术149

第10章 数据操作149

10.1 ADO.NET概述149

10.1.2 System.Data命名空间150

10.2 连接数据库151

10.2.1 SqlConnection类151

10.2.2 设置连接参数152

10.2.3 创建SQL Server连接152

代码10-1 创建SQL Server连接示例:Class 1.cs153

代码10-2 关闭SQL Server连接示例:Class 1.cs153

10.2.4 断开SQL Server连接153

10.2.5 管理其他数据源连接153

10.3 与数据库交互154

10.3.1 使用SqlCommand提交增删改命令154

代码10-3 使用SqlCommand对象修改数据示例:Class 1.cs155

10.3.2 使用SqlCommand获取查询命令155

代码10-4 使用SqlCommand对象查询数据示例:Class 1.cs156

10.3.3 使用DataAdapter提交查询命令156

代码10-5 使用SqlDataAdapter对象提交查询示例:Class 1.cs157

10.4.1 了解数据集157

10.4 管理内存数据157

10.4.2 使用DataTable实现内存表158

代码10-6 构造DataTable对象示例:Class 1.cs160

代码10-7 输出DataTable对象中的数据示例:Class 1.cs161

10.4.3 使用DataSet管理数据162

代码10-8 使用DataSet管理内存数据示例:Class 1.cs163

10.4.4 使用DataReader获取只读数据164

代码10-9 输出DataSet中的DataTable示例:Class 1.cs164

代码10-10 使用SqlDataReader查询数据示例:Class 1.cs165

10.4.5 比较DataSet和DataReader166

10.5.1 使用File对象操作文件166

10.5 文件操作166

代码10-11 使用File对象创建文件示例:Class 1.cs167

代码10-12 使用File对象拷贝文件示例:Class 1.cs167

10.5.2 使用StreamWriter写入文件168

代码10-13 使用File对象移动文件示例:Class 1.cs168

代码10-14 使用File对象删除文件示例:Class 1.cs168

10.5.3 使用SteamReader读取文件169

代码10-15 使用StreamWriter对象写文件示例:Class 1.cs169

代码10-16 使用StreamReader对象读文件示例:Class 1.cs170

温故知新171

11.1.1 理解XML173

第11章 XML编程173

代码11-1 XML通讯录示例:TestDocstest.xml173

11.1 .NET框架中的XML173

11.1.2 XML文档对象模型(DOM)174

11.1.3 System.Xml命名空间175

代码11-2 使用XmlDocument对象读取XML示例:Class 1.cs176

11.2 读取XML文档176

11.2.1 使用XmlDocument读取XML176

11.2.2 使用XmlReader读取XML176

代码11-3 使用XmlTextReader对象读取XML示例:Class 1.cs178

11.2.3 使用XmlNode读取节点179

代码11-4 使用XmlDocument对象读取XML示例:Class 1.cs181

11.3 使用XPath检索XML181

11.3.1 基本XPath表达式182

11.3.2 限定检索范围182

11.3.3 使用函数设置检索条件183

11.3.4 使用运算符设置检索条件184

11.3.5 使用通配符模糊匹配184

11.3.6 综合示例185

11.4.1 创建新DOM节点186

11.4 修改XML文档186

11.4.2 为DOM节点创建属性187

代码11-5 使用xpath插入XML节点示例:Class 1.cs187

代码11-6 为DOM节点创建属性示例:Class 1.cs187

代码11-7 修改XML节点值示例:Class 1.cs188

11.4.3 修改DOM节点188

代码11-8 删除XML节点值示例:Class 1.cs189

11.4.4 删除DOM节点189

11.5.1 使用DataSet加载XML数据190

代码11-9 将DOM写入XML文档示例:Class 1.cs190

代码11-10 将XML文档加载到DataSet示例:Class 1.cs190

11.4.5 将DOM树写入XML文档190

11.5 集成DataSet190

11.5.2 使用XmlDataDocument加载关系数据192

代码11-11 用XML加载关系数据表示例:Class 1.cs192

温故知新193

第3篇 开发网络程序197

12.1 什么是ASP.NET197

第12章 ASP.NET概述197

12.1.1 页面从静态到动态197

12.1.2 ASP.NET的诞生199

12.1.3 ASP.NET能做什么199

12.1.4 IIS管理ASPX页面200

12.1.5 ASP.NET的优点201

12.2 ASP.NET语法202

12.2.1 剖析ASPX页面202

12.2.2 使用〈%〉嵌入代码202

代码12-1 使用〈%〉嵌入C#代码示例:Tag1203

12.2.3 使用〈Script〉...〈/Script〉嵌入代码204

代码12-2 使用〈Script〉嵌入C#代码示例:Tag2204

代码12-3 使用控件示例:Example_Controls206

12.2.4 使用Server控件206

12.2.5 使用〈%--注释--%〉207

12.2.6 ASP.NET 2.0新特性207

12.2.8 使用〈%@Import%〉引入类库208

12.2.7 用〈%@Page...%〉设置页面属性208

12.3.2 使用〈%@CodeFile%〉绑定代码209

代码12-4 ASPX页面的结构示例:HelloWorld_ASPNET209

12.3 代码绑定技术209

12.3.1 分离显示功能和逻辑功能209

代码12-5 CS代码文件示例:HelloWorld_ASPNET210

12.3.3 控件事件接收用户输入211

温故知新212

第13章 ASP.NET核心对象215

13.1 Page类215

13.1.1 Page类概述216

13.1.2 重定位页面217

13.2.1 向浏览器输出信息219

13.2 ASP.NET核心对象219

13.2.2 获取用户输入220

13.2.3 获取服务器信息223

13.3 共享数据225

13.3.1 在程序级共享数据225

13.3.2 在用户级共享数据226

13.4 综合示例228

13.4.1 输出文件内容228

13.4.2 使用Global.asax228

代码13-1 使用Global类成员示例229

13.4.3 验证用户身份230

温故知新231

14.1 HtmlControls概述233

第14章 HTML服务器控件233

14.2 输入控件:HtmlInput235

14.2.1 按钮:HtmlInputButton235

14.2.2 单行文本框:HtmlInputText237

14.2.3 多行文本框:HtmlTextArea239

14.2.4 隐藏文本框:HtmlInputHidden240

代码14-2 HtmlInputHidden控件示例:Button2_ServerClick方法241

代码14-1 HtmlInputHidden控件示例:Button1_ServerClick方法241

14.2.5 文件框:HtmlInputFile241

14.2.6 复选框:HtmlInputCheckBox243

代码14-3 HtmlInputFile控件示例:Button1_ServerClick方法243

代码14-4 HtmlInputCheckBox控件示例:Button1_ServerClick方法245

14.2.7 单选框:HtmlInputRadioButton245

14.3.1 窗体:HtmlForm246

14.3 容器控件:HtmlContainer246

14.3.2 表格:HtmlTable247

代码14-5 HtmlTable控件示例:Table1249

14.3.3 列表框/下拉框控件:HtmlSelect250

代码14-6 HtmlSelect控件示例:Button1_ServerClick方法252

14.4 图像控件:HtmlImage253

温故知新255

代码14-7 HtmlImage控件示例:Button1_ServerClick方法255

15.1 WebControls概述257

第15章 Web服务器控件257

15.2.1 按钮:Button259

15.2 输入控件259

代码15-1 Button控件Command事件示例:WebForm 1.aspx261

代码15-2 Button控件Command事件示例:WebForm 1.aspx.cs261

15.2.2 复选框:CheckBox263

代码15-3 CheckBox控件示例:WebForm 1.aspx264

代码15-4 CheckBox控件示例:WebForm 1.aspx.cs264

15.2.3 单选框:RadioButton265

15.2.4 超级链接:HyperLink266

15.2.5 链接按钮:LinkButton268

15.2.6 图像:Image269

15.2.7 图像按钮:ImageButton271

15.2.8 文本框:TextBox271

15.2.9 图像地图:ImageMap272

15.2.10 项列表:BulletedList274

15.3 列表控件276

15.3.1 下拉框:DropDownList277

15.3.2 列表框:ListBox279

代码15-5 DropDownList控件示例:WebForm 1.aspx.cs279

15.3.3 复选框列表:CheckBoxList281

代码15-6 ListBox控件示例:WebForm 1.aspx.cs281

代码15-7 CheckBoxList控件示例:WebForm 1.aspx.cs283

代码15-8 RadioButtonList控件示例:WebForm 1.aspx.cs284

15.3.4 单选框列表:RadioButtonList284

15.4.1 面板:Panel285

15.4 容器控件285

代码15-9 Panel控件示例:WebForm 1.aspx.cs286

15.4.2 表格:Table287

代码15-10 Table控件示例:WebForm 1.aspx.cs289

代码15-11 Table控件示例:WebForm 1.aspx.cs290

15.5 其他控件291

15.5.1 广告栏控件:AdRotator291

代码15-12 Table控件示例:WebForm 1.aspx.cs291

代码15-13 AdRotator控件示例:adXm 1.xml292

15.5.2 日历控件:Calendar293

代码15-14 Calendar控件示例:WebForm 1.aspx.cs295

15.6 用户控件296

15.6.1 什么是用户控件296

15.6.2 创建用户控件296

15.6.3 定义用户控件属性298

15.6.4 处理用户控件事件299

温故知新300

16.1 数据绑定概述301

第16章 数据绑定技术301

16.2 列表控件302

16.2.1 绑定DataSet到DropDownList302

代码16-1 DropDownList数据绑定:InitData@WebForm 1.aspx.cs303

代码16-2 DropDownList数据绑定:Page_Load@WebForm 1.aspx.cs304

16.2.2 绑定DataReader到ListBox304

代码16-3 ListBox数据绑定:InitData@WebForm 1.aspx.cs305

16.2.3 绑定DataTable到CheckBoxList306

16.2.4 绑定HashTable到RadioButtonList307

代码16-4 CheckBoxList数据绑定:InitData@WebForrn 1.aspx.cs307

代码16-5 RadioButtonList数据绑定:GetHashTable@WebForm 1.aspx.cs308

代码16-6 CheckBoxList数据绑定:InitData@WebForm 1.aspx.cs309

16.3 网格视图:GridView310

16.3.1 比较DataGrid和GridView310

16.3.2 GridView概述310

16.3.3 用GridView自动显示数据313

16.3.4 用GridView定制显示数据314

16.3.5 在GridView中修改、删除、选择数据315

代码16-7 GridView数据绑定:WebForm 1.aspx315

16.3.6 查看GridView详细数据317

代码16-8 GridView:[email protected]319

代码16-9 GridView:[email protected]320

16.3.7 在GridView中分页浏览数据和排序数据320

16.3.8 GridView和DetailsView实现主/详细视图321

16.4.1 单个记录显示控件:FormView323

16.4 其他数据绑定控件323

16.4.2 数据列表:DataList326

代码16-10 DataList示例:WebForm 1.aspx329

16.4.3 循环控件:Repeater330

代码16-11 Repeater示例:ItemCommand@WebForm 1.aspx.cs331

温故知新332

第17章 安全和验证策略333

17.1 Web安全性概述333

17.2 IIS安全机制334

17.2.1 IIS用户验证机制334

17.2.2 限制匿名用户336

17.2.3 控制来访IP地址337

17.2.4 使用SSL加密传递信息338

17.3 ASP.NET验证控件340

17.3.1 必填验证控件:RequiredFieldValidator340

17.3.2 比较验证控件:CompareValidator341

代码17-1 必填验证控件定义:WebForm 1.aspx341

代码17-3 常数比较示例:WebForm 1.aspx344

代码17-2 数据类型比较示例:WebForm 1.aspx344

17.3.3 范围验证控件:RangeValidator345

代码17-4 与控件比较示例:WebForm 1.aspx345

17.3.4 正则表达式验证控件:RegularExpressionValidator347

代码17-5 范围验证控件定义:WebForm 1.aspx347

代码17-6 正则表达式验证控件定义:WebForm 1.aspx349

17.3.5 自定义验证控件:CustomValidator349

代码17-7 验证输入框示例:WebForm 1.aspx350

代码17-8 验证输入框示例:WebForm 1.aspx.cs351

代码17-9 验证单选框示例:WebForm 1.aspx.cs352

代码17-10 验证单选框示例:WebForm 1.aspx.cs352

17.3.6 综合示例:用户注册页面353

温故知新353

第18章 Web服务简述355

18.1 Web服务概述355

18.1.2 Web服务基础结构356

18.1.1 Web服务简介356

18.2 创建和使用Web服务357

18.2.1 创建Web服务358

代码18-1 Web服务类定义和实现:Service 1.asmx.cs358

代码18-2 为Web服务类HelloWorld指定特性:HelloWorld.asmx.cs359

18.2.2 创建Web服务类359

18.2.3 创建Web服务方法360

代码18-3 实现SayHello方法:HelloWorld.asmx.cs361

代码18-4 实现Add方法:HelloWorld.asmx.cs361

18.2.5 测试Web服务362

18.2.4 部署Web服务362

代码18-5 CallWebServiceTest页面HTML:WebForm 1.aspx364

18.2.6 使用Web服务构造ASP.NET Web应用364

代码18-6 调用Web服务中的SayHello方法:WebForm 1.aspx.cs365

代码18-7 调用Web服务中的Add方法:WebForm 1.aspx.cs365

18.3 使用ASP.NET核心对象366

18.3.2 使用Application对象保存数据367

18.3.1 使用Session对象保存数据367

18.3.4 访问Request对象368

代码18-8 Web服务中获取浏览器信息:WebForm 1.aspx.cs368

18.3.3 访问Server对象368

18.3.5 访问Response对象369

代码18-9 Web服务中记录访问日志:WebForm 1.aspx.cs369

温故知新369

19.1 C#项目开发规范373

第4篇 综合实例373

19.1.1 规范化命名373

第19章 C#编程规范373

代码19-1 类命名示例374

代码19-3 属性命名示例375

代码19-2 私有成员命名示例375

代码19-4 方法命名示例376

代码19-6 接口命名示例376

代码19-5 方法参数命名示例376

19.1.2 规范化大括号和代码缩进377

19.1.3 规范化小括号使用377

代码19-7 代码文件级注释示例378

19.1.4 规范化注释378

代码19-9 代码功能块级注释示例379

代码19-8 代码函数级注释示例379

代码19-10 代码行级注释示例380

19.1.6 实施标准381

19.2.1 Web系统的三层结构381

19.1.5 管理文档381

19.2 Web系统的逻辑结构381

19.2.2 示例NorthWind的整体架构382

19.2.3 数据访问层383

代码19-11 Database类实现:DataAccessLayerDatabase.cs384

19.2.4 业务逻辑层387

代码19-12 Category类实现:BusinessLogicLayerCategory.cs387

代码19-13 “查询”按钮单击事件:DataAccessLayerDatabase.cs389

19.2.5 页面显示层389

温故知新390

第20章 多用户聊天室391

20.2.1 用户登录391

20.1 系统目标391

20.2 系统预览391

20.2.3 浏览信息392

20.2.2 发表信息392

20.2.4 注销身份392

20.3 数据库设计393

20.3.1 设计数据库393

20.2.5 工程文件一览393

20.4.1 配置数据库连接394

20.3.2 实现数据库394

20.4 数据访问层394

20.4.2 Database类成员一览395

20.4.3 实现Database类395

代码20-1 Database构造函数:DataAccessLayerDatabase.cs395

代码20-3 Database.Dispose方法:DataAccessLayerDatabase.cs396

代码20-2 Database析构函数:DataAccessLayerDatabase.cs396

代码20-5 Database.Close方法:DataAccessLayerDatabase.cs397

代码20-6 Database.ExecuteSQL方法:DataAccessLayerDatabase.cs397

代码20-4 Database.Open方法:DataAccessLayerDatabase.cs397

代码20-8 Database.GetDataRow方法:DataAccessLayerDatabase.cs398

代码20-7 Database.GetDataSet方法:DataAccessLayerDatabase.cs398

20.5.1 用户类User399

20.5 业务逻辑层399

代码20-9 User.LoadData方法:BussinessLogicLayerUser.cs400

代码20-10 User.Add方法:BussinessLogicLayerUser.cs401

20.5.2 消息类Message401

代码20-11 Message.Add方法:BussinessLogicLayerMessage.cs402

代码20-12 Message.LoadTop10方法:BussinessLogicLayerMessage.cs402

20.6.1 用户登录Login.aspx403

20.6 页面显示层403

代码20-14 登录按钮单击事件:WebLayerLogin.aspx.cs404

代码20-13 登录页面控件定义:WebLayerLogin.aspx404

20.6.2 用户发言Speak.aspx405

代码20-15 发言页面控件定义:WebLayerSpeak.aspx405

代码20-17 离开按钮单击事件:WebLayerSpeak.aspx.cs406

代码20-16 发言按钮单击事件:WebLayerSpeak.aspx.cs406

代码20-18 页面加载事件:WebLayerShowMessage.aspx.cs407

代码20-19 InitData:WebLayerShowMessage.aspx.cs407

20.6.3 浏览信息ShowMessage.aspx407

代码20-20 主页面框架:WebLayerMain.aspx408

20.6.4 主页面Main.aspx408

温故知新409

21.1 系统目标411

第21章 开放论坛系统411

21.2.1 用户注册及登录411

21.2 系统预览411

21.2.2 浏览主题列表412

21.2.4 修改主题信息413

21.2.3 发表新主题413

21.2.6 删除主题414

21.2.5 查看主题及回复414

21.2.7 工程文件一览415

21.3 数据库设计415

21.3.1 设计数据库415

21.3.2 实现数据库416

21.4.1 配置数据库连接417

21.4.2 Database类成员一览417

21.4 数据访问层417

21.4.3 实现Database类418

代码21-1 Database.ExecuteSQL方法:DataAccessLayerDatabase.cs418

代码21-2 Database.GetDataReader方法:DataAccessLayerDatabase.cs420

代码21-3 Database.Insert方法:DataAccessLayerDatabase.cs420

代码21-4 Database.Update方法:DataAccessLayerDatabase.cs421

21.5 数据访问接口层422

代码21-5 ValidateDataRow_S方法:DataAccessHelperGetSafeData.cs423

21.5.1 得到安全数据423

21.5.2 得到安全SQL语句423

21.6 业务逻辑层424

21.6.1 用户类User424

代码21-6 GetQuotedString方法:DataAccessHelperSqlStringFormat.cs424

代码21-7 User.LoadData方法:BussinessLogicLayerUser.cs425

代码21-8 User.Add方法:BussinessLogicLayerUser.cs426

代码21-9 HasUser方法:BussinessLogicLayerUser.cs426

21.6.2 主题类Topic427

代码21-10 Topic.Add方法:BussinessLogicLayerTopic.cs428

代码21-11 Topic.LoadData方法:BussinessLogicLayerTopic.cs428

代码21-12 Topic.LoadData方法:BussinessLogicLayerTopic.cs429

代码21-13 Topic.LoadData方法:BussinessLogicLayerTopic.cs429

代码21-15 Topic.QueryReplies方法:BussinessLogicLayerTopic.cs430

代码21-14 Topic.QueryTopics方法:BussinessLogicLayerTopic.cs430

21.6.3 回复类Reply431

代码21-16 Reply.Add方法:BussinessLogicLayerTopic.cs431

21.7 页面显示层432

代码21-17 登录页面控件定义:WebLayerLogin.aspx432

21.7.1 用户登录Login.aspx432

代码21-19 “游客”按钮单击事件:WebLayerLogin.aspx.cs433

代码21-18 “登录”按钮单击事件:WebLayerLogin.aspx.cs433

代码21-20 用户注册页面控件定义:WebLayerRegister.aspx434

21.7.2 用户注册Register.aspx434

代码21-21 “是否存在”单击事件:WebLayerRegister.aspx.cs435

代码21-22 “注册”按钮单击事件:WebLayerRegister.aspx.cs436

代码21-23 浏览主题页面GridView控件:TopicList.aspx437

21.7.3 浏览主题列表TopicList.aspx437

代码21-25 InitData方法:TopicList.aspx.cs438

代码21-26 按钮列单击事件:TopicList.aspx.cs438

代码21-24 页面加载事件:TopicList.aspx.cs438

代码21-27 修改确认:TopicList.aspx.cs439

代码21-28 “确定”按钮单击事件:WebLayerTopicAdd.aspx.cs440

21.7.4 添加主题TopicAdd.aspx440

代码21-29 InitData:WebLayerTopicUpdate.aspx.cs441

21.7.5 修改主题TopicUpdate.aspx441

代码21-30 “确定”按钮单击事件:WebLayerTopicUpdate.aspx.cs442

21.7.6 查看主题详细内容TopicDetail.aspx442

代码21-31 InitData方法:WebLayerTopicDetail.aspx.cs443

代码21-32 InitData方法:WebLayerTopicDetail.aspx.cs444

代码21-33 “确定”按钮单击事件:WebLayerTopicReply.aspx.cs444

21.7.7 回复主题TopicReply.aspx444

21.7.8 拒绝非法用户445

代码21-34 CheckUser()方法:WebLayerTopicReply.aspx.cs445

代码21-35 CheckUser()方法:WebLayerTopicReply.aspx.cs446

温故知新446

第22章 电子商务系统447

22.1 系统目标447

22.1.1 用户行为分析447

22.1.2 系统目标448

22.2 系统预览448

22.2.1 浏览、查询图书448

22.2.2 查看图书详细信息448

22.2.4 用户登录、注册449

22.2.3 购买图书449

22.2.6 图书管理450

22.2.5 购物篮管理450

22.2.7 图书销量统计451

22.3.1 设计数据库452

22.2.8 工程文件一览452

22.3 数据库设计452

22.3.2 实现数据库453

22.4 数据访问层454

22.5 数据访问接口层455

22.4.2 数据库类实现455

22.4.1 配置数据库连接455

22.5.1 获取安全数据456

代码22-1 ValidateDataReader_S:DataAccessHelperGetSafeData.cs456

代码22-2 GetQuotedString方法:DataAccessHelperSqlStringFormat.cs457

22.5.2 构造SQL语句457

22.6.2 图书类Book459

22.6 业务逻辑层459

22.6.1 用户类User459

代码22-4 Book.Update方法:BussinessLogicLayerBook.cs461

代码22-3 Book.Add方法:BussinessLogicLayerBook.cs461

代码22-6 Book.LoadData方法:BussinessLogicLayerBook.cs461

代码22-5 Book.Delete方法:BussinessLogicLayerBook.cs461

代码22-7 Book.QueryBooks(Hashtable):BussinessLogicLayerBook.cs462

代码22-8 Book.QueryBooks(Hashtable,string,string):BussinessLogicLayerBook.cs463

代码22-9 Book.GetSaleCountByCategory方法:Book.cs463

代码22-10 Book.GetSaleCountByPublisher方法:Book.cs464

代码22-11 Book.GetSaleCountByPrice方法:Book.cs464

22.6.3 图书类别类Category465

代码22-13 Category.Query方法:BussinessLogicLayerCategory.cs466

代码22-12 Category.LoadData方法:BussinessLogicLayerCategory.cs466

22.6.4 购物篮类Cart467

代码22-14 Cart.Add方法:BussinessLogicLayerCart.cs467

代码22-16 Cart.Delete方法:BussinessLogicLayerCart.cs468

代码22-17 Cart.LoadData方法:BussinessLogicLayerCart.cs468

代码22-15 Cart.Update方法:BussinessLogicLayerCart.cs468

代码22-19 Cart.Query方法:BussinessLogicLayerCart.cs469

代码22-18 Cart.RemoveBook方法:BussinessLogicLayerCart.cs469

22.7.1 数据验证类470

代码22-20 IsString方法:BussinessLogicHelperValidateUtility.cs470

22.7 业务逻辑接口层470

代码22-21 BookHelper.Add:BussinessLogicHelperBookHelper.cs471

22.7.2 图书接口类471

代码22-23 控件加载事件:UserControlsHeaderMenu.ascx.cs474

22.8.1 系统菜单自定义控件474

22.8 自定义控件474

代码22-22 系统菜单控件定义:UserControlsHeaderMenu.ascx474

代码22-25 CheckUser方法:UserControlsUserCheck.ascx.cs475

22.8.2 用户验证自定义控件475

代码22-24 “登录”/“离开”单击事件:UserControlsHeaderMenu.ascx.cs475

代码22-26 登录页面GridView控件定义:WebLayerLogin.aspx476

22.9 页面显示层476

22.9.1 浏览、查询图书BookList.aspx476

代码22-27 InitData()方法:BookList.aspx478

代码22-28 Query()方法:BookList.aspx.cs478

代码22-29 Page_Load()方法:BookList.aspx.cs479

代码22-30 “查询”按钮单击事件:BookList.aspx.cs479

代码22-31 ResetQueryValue方法:BookList.aspx.cs480

代码22-32 GetSelected方法:BookList.aspx.cs481

代码22-33 “放入购物篮”按钮单击事件:BookList.aspx.cs481

代码22-34 “删除”按钮单击事件:BookList.aspx.cs482

22.9.2 图书详细信息BookDetail.aspx483

代码22-35 InitData方法:WebLayerBookDetail.aspx.cs483

代码22-37 “返回”按钮单击事件:WebLayerBookDetail.aspx.cs484

22.9.3 添加图书BookAdd.aspx484

代码22-36 Page_Load事件:WebLayerBookDetail.aspx.cs484

代码22-38 “提交”按钮单击事件:WebLayerBookAdd.aspx.cs485

22.9.4 用户注册Register.aspx486

代码22-39 GridView控件属性:CartView.aspx.cs487

22.9.5 购物篮管理CartView.aspx487

代码22-41 DG_RowCommand方法:CartView.aspx.cs488

代码22-40 InitData方法:CartView.aspx.cs488

代码22-42 通用画图类Chart:BusinessLayerChart.cs490

22.9.6 图书销量统计BookStatistics.aspx490

代码22-43 GetColor方法:BusinessLayerChart.cs493

代码22-44 “统计方式”下拉框事件:WebLayerookStatistics.aspx.cs493

代码22-46 DrawChartByPublisher:WebLayerBookStatistics.aspx.cs494

代码22-45 DrawChartByCategory:WebLayerBookStatistics.aspx.cs494

代码22-47 DrawChartByPrice方法:WebLayerBookStatistics.aspx.cs495

温故知新495

23.1 系统目标497

23.1.2 用户行为分析497

23.1.1 办公自动化简介497

第23章 办公自动化系统497

23.1.3 系统目标498

23.2.2 修改密码499

23.2 系统预览499

23.2.1 登录系统499

23.2.3 管理工作计划500

23.2.4 管理系统用户500

23.2.5 管理角色权限501

23.2.6 撰写公文502

23.2.7 审阅公文503

23.2.8 查看系统日志503

23.2.9 工程文件一览504

23.3.1 总体设计505

23.3 系统架构505

23.3.2 系统体系结构505

23.4.1 设计数据库506

23.4 数据库设计506

23.4.2 初始化数据508

23.5.1 字符串加密类Encrypt509

23.5 通用组件层509

代码23-1 加密方法:MyOA.CommonComponentEncrypt.cs510

代码23-2 解密方法:MyOA.CommonComponentEncrypt.cs511

23.5.2 权限树类Tree511

代码23-3 CreateTree方法:MyOA.CommonComponentTree.cs513

代码23-4 CreateSubTree方法:MyOA.CommonComponentTree.cs513

代码23-5 GetChilds方法:MyOA.CommonComponentTree.cs514

代码23-6 IsLeaf方法:MyOA.CommonComponentTree.cs515

代码23-8 GetParent方法:MyOA.CommonComponentTree.cs516

代码23-7 GetLevel方法:MyOA.CommonComponentTree.cs516

23.5.3 日志类MyEventsLog517

代码23-9 MyEventsLog:MyOA.CommonComponentEventsLog.cs519

代码23-10 数据库连接配置:Web.config521

23.6.1 配置数据库连接521

23.6.2 数据库类实现521

23.6 数据访问层521

代码23-11 记录异常日志的Open方法:DataAccessLayerDatabase.cs522

23.7.2 构造SQL语句523

23.7.1 获取安全数据523

23.7 数据访问接口层523

代码23-12 构造条件子句:DataAccessHelperSqlStringConstructor.cs524

23.8.1 用户类User525

23.8 业务逻辑层525

代码23-13 获取用户数据:BussinessLogicLayerUser.cs526

23.8.2 角色类Role528

代码23-15 查询角色数据:BussinessLogicLayerRole.cs529

代码23-14 获取角色数据:BussinessLogicLayerRole.cs529

23.8.3 部门类Department530

代码23-16 修改角色数据:BussinessLogicLayerRole.cs530

代码23-18 查询部门数据:BussinessLogicLayerDepartment.cs531

代码23-17 获取部门数据:BussinessLogicLayerDepartment.cs531

23.8.4 工作计划类Plan532

代码23-19 获取工作计划数据:BussinessLogicLayerPlan.cs533

代码23-20 添加新的工作计划:BussinessLogicLayerPlan.cs533

代码23-21 修改工作计划数据:BussinessLogicLayerPlan.cs534

23.8.5 公文类File534

代码23-22 获取公文数据:BussinessLogicLayerFile.cs535

代码23-24 修改公文数据:BussinessLogicLayerFile.cs536

代码23-23 添加新的公文:BussinessLogicLayerPlan.cs536

代码23-25 查询公文数据:BussinessLogicLayerFile.cs537

代码23-26 删除公文数据:BussinessLogicLayerFile.cs538

代码23-27 获取公文状态数据:BussinessLogicLayerFileStatus.cs539

23.8.6 公文状态FileStatus539

代码23-28 查询公文状态数据:BussinessLogicLayerFileStatus.cs540

23.9 业务逻辑接口层540

23.9.2 公文接口类541

代码23-29 安全添加公文:BussinessLogicHelperFileHelper.cs541

23.9.1 数据验证类541

23.10 自定义权限菜单数控件542

代码23-30 菜单树控件数据加载方法:UserControlsLeftTree.ascx.cs543

23.11 页面显示层544

代码23-31 用户合法性验证方法:UserControlsLeftTree.ascx.cs544

代码23-32 “登录”按钮单击事件:Login.aspx.cs544

23.11.1 登录页面Login.aspx544

代码23-33 “登录”按钮单击事件:Login.aspx.cs545

23.11.2 浏览用户页面UserList.aspx546

代码23-34 登录页面GridView控件定义:UserList.aspx547

代码23-35 登录页面加载事件:UserList.aspx.cs547

代码23-36 InitData方法:UserList.aspx.cs548

代码23-37 Query方法:UserList.aspx.cs548

代码23-38 ResetQueryValue方法:UserList.aspx.cs549

代码23-39 “查询”按钮单击事件:UserList.aspx.cs550

代码23-40 “修改”按钮单击事件:UserList.aspx.cs550

代码23-41 GetSelected方法:UserList.aspx.cs550

代码23-42 “删除”按钮单击事件:UserList.aspx.cs551

23.11.3 添加用户页面UserAdd.aspx552

代码23-43 “重置密码”按钮单击事件:UserList.aspx.cs552

代码23-44 InitData方法:UerAdd.aspx.cs553

代码23-45 “保存”按钮单击事件:UerAdd.aspx.cs554

23.11.4 修改用户页面UserUpdate.aspx555

代码23-46 InitData方法:UerUpdate.aspx.cs555

代码23-47 “保存”按钮单击事件:UerUpdate.aspx.cs556

23.11.5 修改密码页面UserResetPwd.aspx557

代码23-48 “保存”按钮单击事件:UserResetPwd.aspx.cs557

23.11.6 角色权限管理页面RoleMange.aspx558

代码23-49 GridView定义:RoleMange.aspx559

代码23-50 InitData方法:RoleMange.aspx.cs560

代码23-51 “授权”按钮单击事件:RoleMange.aspx.cs562

23.11.7 工作计划页面PlanList.aspx563

代码23-52 页面加载事件:PlanList.aspx.cs563

代码23-53 InitData方法:PlanList.aspx.cs564

代码23-54 InitData方法:PlanList.aspx.cs564

代码23-55 日历控件单击事件:PlanList.aspx.cs565

代码23-56 “添加”按钮单击事件:PlanList.aspx.cs565

23.11.8 公文浏览页面FileList.aspx566

代码23-57 “修改”按钮单击事件:PlanList.aspx.cs566

代码23-58 公文浏览页面加载事件:FileList.aspx.cs567

代码23-59 公文浏览页面加载事件:FileList.aspx.cs567

代码23-60 Query方法:FileList.aspx.cs568

代码23-61 “删除”按钮单击事件:FileList.aspx.cs568

23.11.9 公文添加页面FileAdd.aspx569

代码23-62 InitData方法:UerAdd.aspx.cs570

代码23-63 “部门”下拉框选择改变事件:UerAdd.aspx.cs570

代码23-64 “上报”按钮单击事件:FileAdd.aspx.cs571

23.11.10 公文审阅页面FileDetail.aspx573

代码23-65 InitData方法:FileDetail.aspx.cs573

代码23-66 “审阅”按钮单击事件方法:FileDetail.aspx.cs574

23.11.11 日志查看页面LogView.aspx575

代码23-68 InitData方法:LogView.aspx.cs576

代码23-67 页面加载事件:LogView.aspx.cs576

代码23-69 Query方法:LogView.aspx.cs577

代码23-70 “查询”按钮单击事件:LogView.aspx.cs577

温故知新578

热门推荐