注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计C/C++及其相关精通Visual C#2005:语言基础、数据库系统开发、Web开发

精通Visual C#2005:语言基础、数据库系统开发、Web开发

精通Visual C#2005:语言基础、数据库系统开发、Web开发

定 价:¥65.00

作 者: 王石
出版社: 人民邮电
丛编项:
标 签: 算法语言

ISBN: 9787115139283 出版时间: 2007-02-01 包装: 平装
开本: 16开 页数: 578 字数:  

内容简介

  本书体系完整,结合应用介绍了Visual Studio.NET平台下的C#编程技术,全书分为4个部分:C#编程基础、.NET类库剖析、开发网络程序和综合案例,共23章,并附有大量代码实例。第一部分介绍了使用C#语言进行面向对象系统开发的基本知识;第二部分详细介绍了.NET类库中的部分常用空间,熟练掌握这些基本对象是利用C#开发程序的基础;第三部分具体介绍了利用C#开发ASP.NET Web系统的技术;最后一部分给出了4个结构完整的案例。 全书紧密结合开发实例展开,是一本教科书和参考书的结合体。初级读者可以系统学习本书,整体掌握使用C#语言进行应用程序开发的技术;中级读者可跳过或浏览熟悉的内容;对高级读者而言,本书可以作为一本开发手册使用。

作者简介

暂缺《精通Visual C#2005:语言基础、数据库系统开发、Web开发》作者简介

图书目录

第1篇 C#编程基础
第1章 C#与.NET Framework简介 3
1.1 什么是.NET Framework 3
1.1.1 微软公司的梦想 3
1.1.2 .NET能做什么 3
1.1.3 认识.NET 4
1.2 什么是C# 5
1.2.1 C#与.NET 5
1.2.2 与其他语言的比较 6
1.2.3 C#的特点 7
1.3 第一个C#程序:Hello World 8
1.3.1 Visual Studio .NET开发环境 8
1.3.2 第一个Windows Console程序 9
1.3.3 第一个Windows Form程序 11
1.3.4 第一个ASP.NET程序 12
1.3.5 源代码简短分析 14
温故知新 15
第2章 C#程序设计基础 17
2.1 数据类型 17
2.1.1 值类型 17
2.1.2 引用类型 20
2.1.3 类型转换 21
2.1.4 装箱和拆箱 22
2.2 变量和常量 23
2.2.1 命名变量 23
2.2.2 声明和使用变量 23
2.2.3 声明和使用常量 24
2.3 运算符 25
2.3.1 算数运算符 25
2.3.2 字符串运算符 25
2.3.3 赋值运算符 25
2.3.4 逻辑运算符 26
2.3.5 位运算符 26
2.3.6 其他运算符 26
2.3.7 运算符的优先级 27
2.4 流程控制 27
2.4.1 使用if语句实现分支 27
2.4.2 使用switch语句实现分支 29
2.4.3 使用while语句实现循环 30
2.4.4 使用for语句实现循环 31
2.4.5 使用break/continue控制循环 32
2.4.6 使用#define进行条件编译 33
2.5 程序的结构 33
2.5.1 用类搭建程序 33
2.5.2 使用命名空间 35
2.5.3 寻找程序的入口 36
2.6 异常处理 36
温故知新 38
第3章 类 39
3.1 定义类 39
3.1.1 声明类 39
3.1.2 声明类的静态特征 41
3.1.3 声明类的动态行为 42
3.1.4 创建类实例 43
3.1.5 继承类 43
3.2 Visual Studio.NET中的OOP工具 44
3.2.1 使用Class View窗口 44
3.2.2 使用Object Browser 45
3.3 属性详谈 46
3.3.1 域和属性 46
3.3.2 静态属性 47
3.3.3 重载属性 48
3.4 方法详谈 49
3.4.1 方法的参数 49
3.4.2 使用构造函数 52
3.4.3 使用析构函数 52
3.4.4 使用静态方法 53
3.4.5 重载方法 54
3.4.6 访问父类方法 55
3.4.7 重载运算符 56
温故知新 57
第4章 抽象类、多态及接口 59
4.1 抽象类 59
4.1.1 什么是抽象类 59
4.1.2 声明抽象类 60
4.1.3 实现抽象方法 60
4.2 多态 61
4.2.1 什么是多态 62
4.2.2 多态的实现 62
4.2.3 区分多态和重载 63
4.3 接口 63
4.3.1 什么是接口 63
4.3.2 声明接口 63
4.3.3 实现接口 64
温故知新 66
第5章 调试和异常处理 67
5.1 程序调试技术 67
5.1.1 使用Visual Studio.NET错误报告 67
5.1.2 寻找逻辑错误 68
5.1.3 单步执行程序 69
5.1.4 设置断点 69
5.1.5 在哪里设置断点 70
5.2 异常处理 71
5.2.1 使用try-catch-finally 71
5.2.2 使用系统日志 72
5.3 高质量编码标准 72
5.3.1 好的编码结构 72
5.3.2 好的注释风格 73
5.3.3 好的命名规范 75
5.3.4 避免文件过大 75
5.3.5 使用异常处理 76
温故知新 77
第2篇 C#核心技术
第6章 C#.NET类库框架 81
6.1 .NET命名空间框架 81
6.2 编程基础命名空间 82
6.3 数据操作命名空间 82
6.4 Web应用命名空间 83
6.5 Windows应用命名空间 84
6.6 组件模型命名空间 84
6.7 框架服务命名空间 85
6.8 安全控制命名空间 85
6.9 网络应用命名空间 86
6.10 工程配置命名空间 86
6.11 全球/本地化命名空间 87
6.12 反射命名空间 87
温故知新 88
第7章 字符串操作 89
7.1 静态串String 89
7.1.1 比较字符串 90
7.1.2 定位字符和子串 91
7.1.3 格式化字符串 93
7.1.4 连接字符串 94
7.1.5 分裂字符串 95
7.1.6 插入和填充字符串 95
7.1.7 删除和剪切字符串 96
7.1.8 复制字符串 97
7.1.9 替换字符串 98
7.1.10 更改大小写 98
7.1.11 String小结 98
7.2 动态串StringBuilder 98
7.2.1 声明StringBuilder串 99
7.2.2 设置StringBuilder容量 99
7.2.3 追加操作 100
7.2.4 插入操作 101
7.2.5 删除操作 101
7.2.6 替换操作 101
7.2.7 与String比较 102
7.3 字符串编码 102
7.3.1 字符编码概述 102
7.3.2 使用字符编码类 103
7.4 使用正则表达式 105
7.4.1 正则表达式简介 106
7.4.2 使用Regex类 106
7.4.3 构造正则表达式 107
7.4.4 示例:验证URL 109
温故知新 110
第8章 数组 111
8.1 C#数组简介 111
8.1.1 数组的概念 111
8.1.2 多维数组 112
8.1.3 创建C#数组 113
8.2 使用数组 114
8.2.1 System.Array类 114
8.2.2 访问数组元素 115
8.2.3 遍历数组 117
8.2.4 同步数组 118
8.2.5 数组排序 118
8.2.6 查找元素 120
8.2.7 反转数组 121
8.2.8 复制数组 122
8.2.9 动态创建数组 123
8.2.10 综合示例 124
温故知新 128
第9章 集合 129
9.1 System.Collections命名空间 129
9.2 ArrayList类 130
9.2.1 创建列表 131
9.2.2 添加元素 131
9.2.3 插入元素 132
9.2.4 删除元素 133
9.2.5 简单排序 133
9.2.6 复杂排序 134
9.2.7 查找元素 135
9.2.8 遍历列表 136
9.3 Queue类 137
9.3.1 创建队列 137
9.3.2 元素入队 138
9.3.3 元素出队 138
9.4 Stack类 139
9.4.1 创建堆栈 139
9.4.2 元素入栈 140
9.4.3 元素出栈 140
9.5 Hashtable类和SortedList类 141
9.5.1 Hashtable 141
9.5.2 构造普通散列表 142
9.5.3 SortedList 144
9.5.4 搜索排序散列表 144
温故知新 147
第10章 数据操作 149
10.1 ADO.NET概述 149
10.1.1 数据访问技术 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.2.4 断开SQL Server连接 153
10.2.5 管理其他数据源连接 153
10.3 与数据库交互 154
10.3.1 使用SqlCommand提交增删改命令 154
10.3.2 使用SqlCommand获取查询命令 155
10.3.3 使用DataAdapter提交查询命令 156
10.4 管理内存数据 157
10.4.1 了解数据集 157
10.4.2 使用DataTable实现内存表 158
10.4.3 使用DataSet管理数据 162
10.4.4 使用DataReader获取只读数据 164
10.4.5 比较DataSet和DataReader 166
10.5 文件操作 166
10.5.1 使用File对象操作文件 166
10.5.2 使用StreamWriter写入文件 168
10.5.3 使用SteamReader读取文件 169
温故知新 171
第11章 XML编程 173
11.1 .NET框架中的XML 173
11.1.1 理解XML 173
11.1.2 XML文档对象模型(DOM) 174
11.1.3 System.Xml命名空间 175
11.2 读取XML文档 176
11.2.1 使用XmlDocument读取XML 176
11.2.2 使用XmlReader读取XML 176
11.2.3 使用XmlNode读取节点 179
11.3 使用XPath检索XML 181
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 修改XML文档 186
11.4.1 创建新DOM节点 186
11.4.2 为DOM节点创建属性 187
11.4.3 修改DOM节点 188
11.4.4 删除DOM节点 189
11.4.5 将DOM树写入XML文档 190
11.5 集成DataSet 190
11.5.1 使用DataSet加载XML数据 190
11.5.2 使用XmlDataDocument加载关系数据 192
温故知新 193
第3篇 开发网络程序
第12章 ASP.NET概述 197
12.1 什么是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.2.3 使用 Script ... /Script 嵌入代码 204
12.2.4 使用Server控件 206
12.2.5 使用 %--注释--%  207
12.2.6 ASP.NET 2.0新特性 207
12.2.7 用 %@ Page...% 设置页面属性 208
12.2.8 使用 %@ Import % 引入类库 208
12.3 代码绑定技术 209
12.3.1 分离显示功能和逻辑功能 209
12.3.2 使用 %@ CodeFile % 绑定代码 209
12.3.3 控件事件接收用户输入 211
温故知新 212
第13章 ASP.NET核心对象 215
13.1 Page类 215
13.1.1 Page类概述 216
13.1.2 重定位页面 217
13.2 ASP.NET核心对象 219
13.2.1 向浏览器输出信息 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.asax 228
13.4.3 验证用户身份 230
温故知新 231
第14章 HTML服务器控件 233
14.1 HtmlControls概述 233
14.2 输入控件:HtmlInput 235
14.2.1 按钮:HtmlInputButton 235
14.2.2 单行文本框:HtmlInputText 237
14.2.3 多行文本框:HtmlTextArea 239
14.2.4 隐藏文本框:HtmlInputHidden 240
14.2.5 文件框:HtmlInputFile 241
14.2.6 复选框:HtmlInputCheckBox 243
14.2.7 单选框:HtmlInputRadioButton 245
14.3 容器控件:HtmlContainer 246
14.3.1 窗体:HtmlForm 246
14.3.2 表格:HtmlTable 247
14.3.3 列表框/下拉框控件:HtmlSelect 250
14.4 图像控件:HtmlImage 253
温故知新 255
第15章 Web服务器控件 257
15.1 WebControls概述 257
15.2 输入控件 259
15.2.1 按钮:Button 259
15.2.2 复选框:CheckBox 263
15.2.3 单选框:RadioButton 265
15.2.4 超级链接:HyperLink 266
15.2.5 链接按钮:LinkButton 268
15.2.6 图像:Image 269
15.2.7 图像按钮:ImageButton 271
15.2.8 文本框:TextBox 271
15.2.9 图像地图:ImageMap 272
15.2.10 项列表:BulletedList 274
15.3 列表控件 276
15.3.1 下拉框:DropDownList 277
15.3.2 列表框:ListBox 279
15.3.3 复选框列表:CheckBoxList 281
15.3.4 单选框列表:RadioButtonList 284
15.4 容器控件 285
15.4.1 面板:Panel 285
15.4.2 表格:Table 287
15.5 其他控件 291
15.5.1 广告栏控件:AdRotator 291
15.5.2 日历控件:Calendar 293
15.6 用户控件 296
15.6.1 什么是用户控件 296
15.6.2 创建用户控件 296
15.6.3 定义用户控件属性 298
15.6.4 处理用户控件事件 299
温故知新 300
第16章 数据绑定技术 301
16.1 数据绑定概述 301
16.2 列表控件 302
16.2.1 绑定DataSet到DropDownList 302
16.2.2 绑定DataReader到ListBox 304
16.2.3 绑定DataTable到CheckBoxList 306
16.2.4 绑定HashTable到RadioButtonList 307
16.3 网格视图:GridView 310
16.3.1 比较DataGrid和GridView 310
16.3.2 GridView概述 310
16.3.3 用GridView自动显示数据 313
16.3.4 用GridView定制显示数据 314
16.3.5 在GridView中修改、删除、选择数据 315
16.3.6 查看GridView详细数据 317
16.3.7 在GridView中分页浏览数据和排序数据 320
16.3.8 GridView和DetailsView实现主/详细视图 321
16.4 其他数据绑定控件 323
16.4.1 单个记录显示控件:FormView 323
16.4.2 数据列表:DataList 326
16.4.3 循环控件:Repeater 330
温故知新 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 必填验证控件:RequiredFieldValidator 340
17.3.2 比较验证控件:CompareValidator 341
17.3.3 范围验证控件:RangeValidator 345
17.3.4 正则表达式验证控件:RegularExpressionValidator 347
17.3.5 自定义验证控件:CustomValidator 349
17.3.6 综合示例:用户注册页面 353
温故知新 353
第18章 Web服务简述 355
18.1 Web服务概述 355
18.1.1 Web服务简介 356
18.1.2 Web服务基础结构 356
18.2 创建和使用Web服务 357
18.2.1 创建Web服务 358
18.2.2 创建Web服务类 359
18.2.3 创建Web服务方法 360
18.2.4 部署Web服务 362
18.2.5 测试Web服务 362
18.2.6 使用Web服务构造ASP.NET Web应用 364
18.3 使用ASP.NET核心对象 366
18.3.1 使用Session对象保存数据 367
18.3.2 使用Application对象保存数据 367
18.3.3 访问Server对象 368
18.3.4 访问Request对象 368
18.3.5 访问Response对象 369
温故知新 369
第4篇 综合实例
第19章 C#编程规范 373
19.1 C#项目开发规范 373
19.1.1 规范化命名 373
19.1.2 规范化大括号和代码缩进 377
19.1.3 规范化小括号使用 377
19.1.4 规范化注释 378
19.1.5 管理文档 381
19.1.6 实施标准 381
19.2 Web系统的逻辑结构 381
19.2.1 Web系统的三层结构 381
19.2.2 示例NorthWind的整体架构 382
19.2.3 数据访问层 383
19.2.4 业务逻辑层 387
19.2.5 页面显示层 389
温故知新 390
第20章 多用户聊天室 391
20.1 系统目标 391
20.2 系统预览 391
20.2.1 用户登录 391
20.2.2 发表信息 392
20.2.3 浏览信息 392
20.2.4 注销身份 392
20.2.5 工程文件一览 393
20.3 数据库设计 393
20.3.1 设计数据库 393
20.3.2 实现数据库 394
20.4 数据访问层 394
20.4.1 配置数据库连接 394
20.4.2 Database类成员一览 395
20.4.3 实现Database类 395
20.5 业务逻辑层 399
20.5.1 用户类User 399
20.5.2 消息类Message 401
20.6 页面显示层 403
20.6.1 用户登录Login.aspx 403
20.6.2 用户发言Speak.aspx 405
20.6.3 浏览信息ShowMessage.aspx 407
20.6.4 主页面Main.aspx 408
温故知新 409
第21章 开放论坛系统 411
21.1 系统目标 411
21.2 系统预览 411
21.2.1 用户注册及登录 411
21.2.2 浏览主题列表 412
21.2.3 发表新主题 413
21.2.4 修改主题信息 413
21.2.5 查看主题及回复 414
21.2.6 删除主题 414
21.2.7 工程文件一览 415
21.3 数据库设计 415
21.3.1 设计数据库 415
21.3.2 实现数据库 416
21.4 数据访问层 417
21.4.1 配置数据库连接 417
21.4.2 Database类成员一览 417
21.4.3 实现Database类 418
21.5 数据访问接口层 422
21.5.1 得到安全数据 423
21.5.2 得到安全SQL语句 423
21.6 业务逻辑层 424
21.6.1 用户类User 424
21.6.2 主题类Topic 427
21.6.3 回复类Reply 431
21.7 页面显示层 432
21.7.1 用户登录Login.aspx 432
21.7.2 用户注册Register.aspx 434
21.7.3 浏览主题列表TopicList.aspx 437
21.7.4 添加主题TopicAdd.aspx 440
21.7.5 修改主题TopicUpdate.aspx 441
21.7.6 查看主题详细内容TopicDetail.aspx 442
21.7.7 回复主题TopicReply.aspx 444
21.7.8 拒绝非法用户 445
温故知新 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.3 购买图书 449
22.2.4 用户登录、注册 449
22.2.5 购物篮管理 450
22.2.6 图书管理 450
22.2.7 图书销量统计 451
22.2.8 工程文件一览 452
22.3 数据库设计 452
22.3.1 设计数据库 452
22.3.2 实现数据库 453
22.4 数据访问层 454
22.4.1 配置数据库连接 455
22.4.2 数据库类实现 455
22.5 数据访问接口层 455
22.5.1 获取安全数据 456
22.5.2 构造SQL语句 457
22.6 业务逻辑层 459
22.6.1 用户类User 459
22.6.2 图书类Book 459
22.6.3 图书类别类Category 465
22.6.4 购物篮类Cart 467
22.7 业务逻辑接口层 470
22.7.1 数据验证类 470
22.7.2 图书接口类 471
22.8 自定义控件 474
22.8.1 系统菜单自定义控件 474
22.8.2 用户验证自定义控件 475
22.9 页面显示层 476
22.9.1 浏览、查询图书BookList.aspx 476
22.9.2 图书详细信息BookDetail.aspx 483
22.9.3 添加图书BookAdd.aspx 484
22.9.4 用户注册Register.aspx 486
22.9.5 购物篮管理CartView.aspx 487
22.9.6 图书销量统计BookStatistics.aspx 490
温故知新 495
第23章 办公自动化系统 497
23.1 系统目标 497
23.1.1 办公自动化简介 497
23.1.2 用户行为分析 497
23.1.3 系统目标 498
23.2 系统预览 499
23.2.1 登录系统 499
23.2.2 修改密码 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 系统架构 505
23.3.1 总体设计 505
23.3.2 系统体系结构 505
23.4 数据库设计 506
23.4.1 设计数据库 506
23.4.2 初始化数据 508
23.5 通用组件层 509
23.5.1 字符串加密类Encrypt 509
23.5.2 权限树类Tree 511
23.5.3 日志类MyEventsLog 517
23.6 数据访问层 521
23.6.1 配置数据库连接 521
23.6.2 数据库类实现 521
23.7 数据访问接口层 523
23.7.1 获取安全数据 523
23.7.2 构造SQL语句 523
23.8 业务逻辑层 525
23.8.1 用户类User 525
23.8.2 角色类Role 528
23.8.3 部门类Department 530
23.8.4 工作计划类Plan 532
23.8.5 公文类File 534
23.8.6 公文状态FileStatus 539
23.9 业务逻辑接口层 540
23.9.1 数据验证类 541
23.9.2 公文接口类 541
23.10 自定义权限菜单数控件 542
23.11 页面显示层 544
23.11.1 登录页面Login.aspx 544
23.11.2 浏览用户页面UserList.aspx 546
23.11.3 添加用户页面UserAdd.aspx 552
23.11.4 修改用户页面UserUpdate.aspx 555
23.11.5 修改密码页面UserResetPwd.aspx 557
23.11.6 角色权限管理页面RoleMange.aspx 558
23.11.7 工作计划页面PlanList.aspx 563
23.11.8 公文浏览页面FileList.aspx 566
23.11.9 公文添加页面FileAdd.aspx 569
23.11.10 公文审阅页面FileDetail.aspx 573
23.11.11 日志查看页面LogView.aspx 575
温故知新 578
代码目录
代码1-1 控制台HelloWorld示例:HelloWorld.cs 10
代码2-1 if语句示例:Class1.cs 28
代码2-2 switch语句示例:Class1.cs 30
代码2-3 while语句示例:Class1.cs 31
代码2-4 for语句示例:Class1.cs 32
代码2-5 break & continue语句示例:Class1.cs 32
代码2-6 #define语句示例:Class1.cs 33
代码2-7 namespace语句示例:Class1.cs 35
代码2-8 try、catch和finally语句示例:Class1.cs 37
代码3-1 public和private示例:Class1.cs 41
代码3-2 声明方法示例:Class1.cs 42
代码3-3 类继承示例:Class1.cs 44
代码3-4 域和属性示例:Class1.cs 46
代码3-5 静态属性示例:Class1.cs 47
代码3-6 属性重载示例:Class1.cs 48
代码3-7 使用ref传递引用参数示例:Class1.cs 50
代码3-8 使用out传递输出参数示例:Class1.cs 50
代码3-9 使用params传递多个参数示例:Class1.cs 51
代码3-10 构造函数示例:Class1.cs 52
代码3-11 析构函数示例:Class1.cs 53
代码3-12 静态方法示例:Class1.cs 53
代码3-13 方法重载示例:Class1.cs 54
代码3-14 访问父类方法示例:Class1.cs 55
代码3-15 运算符重载示例:Class1.cs 56
代码4-1 定义运动员抽象类:Class1.cs 60
代码4-2 实现运动员抽象方法:Class1.cs 60
代码4-3 使用多态性示例:Class1.cs 62
代码4-4 声明IShape接口:Class1.cs 64
代码4-5 继承IShape接口实现矩形类:Class1.cs 65
代码4-6 使用接口实现多态示例:Class1.cs 65
代码5-1 具有逻辑错误的代码示例:Class1.cs 68
代码5-2 未处理异常的代码示例 71
代码5-3 使用try-catch处理异常的代码示例 71
代码5-4 结构良好的矩形类实现 72
代码5-5 结构混乱的矩形类实现 73
代码5-6 具有良好注释的矩形类实现 73
代码5-7 方法功能独立的矩形类实现 75
代码5-8 方法功能混乱的矩形类实现 76
代码5-9 异常处理的方法示例 76
代码5-10 异常未处理的方法示例 77
代码7-1 使用Compare比较两个字符串示例:Class1.cs 90
代码7-2 使用CompareTo比较两个字符串示例:Class1.cs 91
代码7-3 使用Equals比较两个字符串示例:Class1.cs 91
代码7-4 使用= =和!=比较两个字符串示例:Class1.cs 91
代码7-5 使用StartsWith判断首字符串示例:Class1.cs 92
代码7-6 寻找子串位置示例:Class1.cs 93
代码7-7 设置字符串格式示例:Class1.cs 93
代码7-8 使用Concat连接字符串示例:Class1.cs 94
代码7-9 使用Join连接字符串示例:Class1.cs 94
代码7-10 使用“+”连接字符串示例:Class1.cs 94
代码7-11 使用Split分裂字符串示例:Class1.cs 95
代码7-12 使用Insert插入字符串示例:Class1.cs 95
代码7-13 使用PadLeft填充字符串示例:Class1.cs 96
代码7-14 使用Remove删除字符串示例:Class1.cs 96
代码7-15 使用Trim去掉首尾的特殊符号示例:Class1.cs 97
代码7-16 使用Copy复制字符串示例:Class1.cs 97
代码7-17 使用CopyTo复制字符串示例:Class1.cs 97
代码7-18 使用Replace替换字符串示例:Class1.cs 98
代码7-19 使用ToUpper更改字符串大小写示例:Class1.cs 98
代码7-20 使用Append追加字符串示例:Class1.cs 100
代码7-21 使用AppendFormat追加特定格式的字符串示例:Class1.cs 101
代码7-22 使用Insert插入字符串示例:Class1.cs 101
代码7-23 使用Remove删除字符串示例:Class1.cs 101
代码7-24 使用Replace替换字符串示例:Class1.cs 102
代码7-25 显示编码形式示例:Class1.cs 104
代码7-26 验证电子邮件地址示例:Class1.cs 107
代码7-27 验证URL示例:Class1.cs 110
代码8-1 输出数组元素:Class1.cs 112
代码8-2 输出交错数组元素:Class1.cs 116
代码8-3 使用GetValue输出二维数组元素示例:Class1.cs 117
代码8-4 利用for语句遍历数组示例:Class1.cs 117
代码8-5 利用foreach遍历数组示例:Class1.cs 118
代码8-6 利用lock同步数组示例:Class1.cs 118
代码8-7 利用Sort排序数组示例:Class1.cs 118
代码8-8 利用Sort实现数组多关键字排序示例:Class1.cs 119
代码8-9 利用BinarySearch搜索数组元素示例:Class1.cs 120
代码8-10 利用Contains判断数组是否包含某个元素示例:Class1.cs 120
代码8-11 利用Reverse反转数组示例:Class1.cs 121
代码8-12 利用Copy复制数组示例:Class1.cs 122
代码8-13 利用CopyTo复制数组示例:Class1.cs 123
代码8-14 利用CreateInstance动态创建数组示例:Class1.cs 123
代码8-15 图书类Book的实现代码:Class1.cs 125
代码8-16 按图书名显示图书实现代码:Class1.cs 126
代码8-17 BookList类完整实现代码:Class1.cs 126
代码8-18 Main函数:Class1.cs 127
代码9-1 向ArrayList中添加元素示例:Class1.cs 132
代码9-2 向ArrayList中插入元素示例:Class1.cs 132
代码9-3 从ArrayList中删除元素示例:Class1.cs 133
代码9-4 使用Sort方法对列表排序示例:Class1.cs 134
代码9-5 使用Compare方法实现逆比较示例:Class1.cs 134
代码9-6 使用BinarySearch方法查找元素示例:Class1.cs 135
代码9-7 使用foreach遍历列表示例:Class1.cs 136
代码9-8 使用GetEnumerator遍历列表示例:Class1.cs 136
代码9-9 使用Enqueue元素入队示例:Class1.cs 138
代码9-10 使用Dequeue元素出队示例:Class1.cs 139
代码9-11 使用Push元素入栈示例:Class1.cs 140
代码9-12 使用Pop元素出栈示例:Class1.cs 140
代码9-13 使用Hashtable对象实现散列表示例:Class1.cs 142
代码9-14 使用Hashtable对象实现散列表示例:Class1.cs 143
代码9-15 搜索散列表示例:Class1.cs 144
代码9-16 搜索散列表调用示例:Class1.cs 146
代码10-1 创建SQL Server连接示例:Class1.cs 153
代码10-2 关闭SQL Server连接示例:Class1.cs 153
代码10-3 使用SqlCommand对象修改数据示例:Class1.cs 155
代码10-4 使用SqlCommand对象查询数据示例:Class1.cs 156
代码10-5 使用SqlDataAdapter对象提交查询示例:Class1.cs 157
代码10-6 构造DataTable对象示例:Class1.cs 160
代码10-7 输出DataTable对象中的数据示例:Class1.cs 161
代码10-8 使用DataSet管理内存数据示例:Class1.cs 163
代码10-9 输出DataSet中的DataTable示例:Class1.cs 164
代码10-10 使用SqlDataReader查询数据示例:Class1.cs 165
代码10-11 使用File对象创建文件示例:Class1.cs 167
代码10-12 使用File对象拷贝文件示例:Class1.cs 167
代码10-13 使用File对象移动文件示例:Class1.cs 168
代码10-14 使用File对象删除文件示例:Class1.cs 168
代码10-15 使用StreamWriter对象写文件示例:Class1.cs 169
代码10-16 使用StreamReader对象读文件示例:Class1.cs 170
代码11-1 XML通讯录示例:\TestDocs\test.xml 173
代码11-2 使用XmlDocument对象读取XML示例:Class1.cs 176
代码11-3 使用XmlTextReader对象读取XML示例:Class1.cs 178
代码11-4 使用XmlDocument对象读取XML示例:Class1.cs 181
代码11-5 使用xpath插入XML节点示例:Class1.cs 187
代码11-6 为DOM节点创建属性示例:Class1.cs 187
代码11-7 修改XML节点值示例:Class1.cs 188
代码11-8 删除XML节点值示例:Class1.cs 189
代码11-9 将DOM写入XML文档示例:Class1.cs 190
代码11-10 将XML文档加载到DataSet示例:Class1.cs 190
代码11-11 用XML加载关系数据表示例:Class1.cs 192
代码12-1 使用 % % 嵌入C#代码示例:Tag1 203
代码12-2 使用<Script>嵌入C#代码示例:Tag2 204
代码12-3 使用控件示例:Example_Controls 206
代码12-4 ASPX页面的结构示例:HelloWorld_ASPNET 209
代码12-5 CS代码文件示例:HelloWorld_ASPNET 210
代码13-1 使用Global类成员示例 229
代码14-1 HtmlInputHidden控件示例:Button1_ServerClick方法 241
代码14-2 HtmlInputHidden控件示例:Button2_ServerClick方法 241
代码14-3 HtmlInputFile控件示例:Button1_ServerClick方法 243
代码14-4 HtmlInputCheckBox控件示例:Button1_ServerClick方法 245
代码14-5 HtmlTable控件示例:Table1 249
代码14-6 HtmlSelect控件示例:Button1_ServerClick方法 252
代码14-7 HtmlImage控件示例:Button1_ServerClick方法 255
代码15-1 Button控件Command事件示例:WebForm1.aspx 261
代码15-2 Button控件Command事件示例:WebForm1.aspx.cs 261
代码15-3 CheckBox控件示例:WebForm1.aspx 264
代码15-4 CheckBox控件示例:WebForm1.aspx.cs 264
代码15-5 DropDownList控件示例:WebForm1.aspx.cs 279
代码15-6 ListBox控件示例:WebForm1.aspx.cs 281
代码15-7 CheckBoxList控件示例:WebForm1.aspx.cs 283
代码15-8 RadioButtonList控件示例:WebForm1.aspx.cs 284
代码15-9 Panel控件示例:WebForm1.aspx.cs 286
代码15-10 Table控件示例:WebForm1.aspx.cs 289
代码15-11 Table控件示例:WebForm1.aspx.cs 290
代码15-12 Table控件示例:WebForm1.aspx.cs 291
代码15-13 AdRotator控件示例:adXml.xml 292
代码15-14 Calendar控件示例:WebForm1.aspx.cs 295
代码16-1 DropDownList数据绑定:InitData@WebForm1.aspx.cs 303
代码16-2 DropDownList数据绑定:Page_Load@WebForm1.aspx.cs 304
代码16-3 ListBox数据绑定:InitData@WebForm1.aspx.cs 305
代码16-4 CheckBoxList数据绑定:InitData@WebForm1.aspx.cs 307
代码16-5 RadioButtonList数据绑定:GetHashTable@WebForm1.aspx.cs 308
代码16-6 CheckBoxList数据绑定:InitData@WebForm1.aspx.cs 309
代码16-7 GridView数据绑定:WebForm1.aspx 315
代码16-8 GridView:InitData@DetailInfo.aspx.cs 319
代码16-9 GridView:Page_Load@DetailInfo.aspx.cs 320
代码16-10 DataList示例:WebForm1.aspx 329
代码16-11 Repeater示例:ItemCommand @WebForm1.aspx.cs 331
代码17-1 必填验证控件定义:WebForm1.aspx 341
代码17-2 数据类型比较示例:WebForm1.aspx 344
代码17-3 常数比较示例:WebForm1.aspx 344
代码17-4 与控件比较示例:WebForm1.aspx 345
代码17-5 范围验证控件定义:WebForm1.aspx 347
代码17-6 正则表达式验证控件定义:WebForm1.aspx 349
代码17-7 验证输入框示例:WebForm1.aspx 350
代码17-8 验证输入框示例:WebForm1.aspx.cs 351
代码17-9 验证单选框示例:WebForm1.aspx.cs 352
代码17-10 验证单选框示例:WebForm1.aspx.cs 352
代码18-1 Web服务类定义和实现:Service1.asmx.cs 358
代码18-2 为Web服务类HelloWorld指定特性:HelloWorld.asmx.cs 359
代码18-3 实现SayHello方法:HelloWorld.asmx.cs 361
代码18-4 实现Add方法:HelloWorld.asmx.cs 361
代码18-5 CallWebServiceTest页面HTML:WebForm1.aspx 364
代码18-6 调用Web服务中的SayHello方法:WebForm1.aspx.cs 365
代码18-7 调用Web服务中的Add方法:WebForm1.aspx.cs 365
代码18-8 Web服务中获取浏览器信息:WebForm1.aspx.cs 368
代码18-9 Web服务中记录访问日志:WebForm1.aspx.cs 369
代码19-1 类命名示例 374
代码19-2 私有成员命名示例 375
代码19-3 属性命名示例 375
代码19-4 方法命名示例 376
代码19-5 方法参数命名示例 376
代码19-6 接口命名示例 376
代码19-7 代码文件级注释示例 378
代码19-8 代码函数级注释示例 379
代码19-9 代码功能块级注释示例 379
代码19-10 代码行级注释示例 380
代码19-11 Database类实现:DataAccessLayer\Database.cs 384
代码19-12 Category类实现:BusinessLogicLayer\Category.cs 387
代码19-13 “查询”按钮单击事件:DataAccessLayer\Database.cs 389
代码20-1 Database构造函数:\DataAccessLayer\Database.cs 395
代码20-2 Database析构函数:\DataAccessLayer\Database.cs 396
代码20-3 Database.Dispose方法:\DataAccessLayer\Database.cs 396
代码20-4 Database.Open方法:\DataAccessLayer\Database.cs 397
代码20-5 Database.Close方法:\DataAccessLayer\Database.cs 397
代码20-6 Database. ExecuteSQL方法:\DataAccessLayer\Database.cs 397
代码20-7 Database. GetDataSet方法:\DataAccessLayer\Database.cs 398
代码20-8 Database. GetDataRow方法:\DataAccessLayer\Database.cs 398
代码20-9 User.LoadData方法:\BussinessLogicLayer\User.cs 400
代码20-10 User.Add方法:\BussinessLogicLayer\User.cs 401
代码20-11 Message.Add方法:\BussinessLogicLayer\Message.cs 402
代码20-12 Message.LoadTop10方法:\BussinessLogicLayer\Message.cs 402
代码20-13 登录页面控件定义:\WebLayer\Login.aspx 404
代码20-14 登录按钮单击事件:\WebLayer\Login.aspx.cs 404
代码20-15 发言页面控件定义:\WebLayer\Speak.aspx 405
代码20-16 发言按钮单击事件:\WebLayer\Speak.aspx.cs 406
代码20-17 离开按钮单击事件:\WebLayer\Speak.aspx.cs 406
代码20-18 页面加载事件:\WebLayer\ShowMessage.aspx.cs 407
代码20-19 InitData:\WebLayer\ShowMessage.aspx.cs 407
代码20-20 主页面框架:\WebLayer\Main.aspx 408
代码21-1 Database.ExecuteSQL方法:\DataAccessLayer\Database.cs 418
代码21-2 Database.GetDataReader方法:\DataAccessLayer\Database.cs 420
代码21-3 Database. Insert方法:\DataAccessLayer\Database.cs 420
代码21-4 Database.Update方法:\DataAccessLayer\Database.cs 421
代码21-5 ValidateDataRow_S方法:\DataAccessHelper\GetSafeData.cs 423
代码21-6 GetQuotedString方法:\DataAccessHelper\SqlStringFormat.cs 424
代码21-7 User.LoadData方法:\BussinessLogicLayer\User.cs 425
代码21-8 User.Add方法:\BussinessLogicLayer\User.cs 426
代码21-9 HasUser方法:\BussinessLogicLayer\User.cs 426
代码21-10 Topic.Add方法:\BussinessLogicLayer\Topic.cs 428
代码21-11 Topic. LoadData方法:\BussinessLogicLayer\Topic.cs 428
代码21-12 Topic. LoadData方法:\BussinessLogicLayer\Topic.cs 429
代码21-13 Topic. LoadData方法:\BussinessLogicLayer\Topic.cs 429
代码21-14 Topic. QueryTopics方法:\BussinessLogicLayer\Topic.cs 430
代码21-15 Topic. QueryReplies方法:\BussinessLogicLayer\Topic.cs 430
代码21-16 Reply.Add方法:\BussinessLogicLayer\Topic.cs 431
代码21-17 登录页面控件定义:\WebLayer\Login.aspx 432
代码21-18 “登录”按钮单击事件:\WebLayer\Login.aspx.cs 433
代码21-19 “游客”按钮单击事件:\WebLayer\Login.aspx.cs 433
代码21-20 用户注册页面控件定义:\WebLayer\Register.aspx 434
代码21-21 “是否存在”单击事件:\WebLayer\Register.aspx.cs 435
代码21-22 “注册”按钮单击事件:\WebLayer\Register.aspx.cs 436
代码21-23 浏览主题页面GridView控件:\TopicList.aspx 437
代码21-24 页面加载事件:\TopicList.aspx.cs 438
代码21-25 InitData方法:\TopicList.aspx.cs 438
代码21-26 按钮列单击事件:\TopicList.aspx.cs 438
代码21-27 修改确认:\TopicList.aspx.cs 439
代码21-28 “确定”按钮单击事件:\WebLayer\TopicAdd.aspx.cs 440
代码21-29 InitData:\WebLayer\TopicUpdate.aspx.cs 441
代码21-30 “确定”按钮单击事件:\WebLayer\TopicUpdate.aspx.cs 442
代码21-31 InitData方法:\WebLayer\TopicDetail.aspx.cs 443
代码21-32 InitData方法:\WebLayer\TopicDetail.aspx.cs 444
代码21-33 “确定”按钮单击事件:\WebLayer\TopicReply.aspx.cs 444
代码21-34 CheckUser()方法:\WebLayer\TopicReply.aspx.cs 445
代码21-35 CheckUser()方法:\WebLayer\TopicReply.aspx.cs 446
代码22-1 ValidateDataReader_S:\DataAccessHelper\GetSafeData.cs 456
代码22-2 GetQuotedString方法:\DataAccessHelper\SqlStringFormat.cs 457
代码22-3 Book.Add方法:\BussinessLogicLayer\Book.cs 461
代码22-4 Book.Update方法:\BussinessLogicLayer\Book.cs 461
代码22-5 Book. Delete方法:\BussinessLogicLayer\Book.cs 461
代码22-6 Book. LoadData方法:\BussinessLogicLayer\Book.cs 461
代码22-7 Book.QueryBooks(Hashtable):\BussinessLogicLayer\Book.cs 462
代码22-8 Book.QueryBooks(Hashtable,string,string):\BussinessLogicLayer\Book.cs 463
代码22-9 Book.GetSaleCountByCategory方法:\Book.cs 463
代码22-10 Book. GetSaleCountByPublisher方法:\Book.cs 464
代码22-11 Book. GetSaleCountByPrice方法:\Book.cs 464
代码22-12 Category. LoadData方法:\BussinessLogicLayer\ Category.cs 466
代码22-13 Category.Query方法:\BussinessLogicLayer\Category.cs 466
代码22-14 Cart.Add方法:\BussinessLogicLayer\Cart.cs 467
代码22-15 Cart.Update方法:\BussinessLogicLayer\Cart.cs 468
代码22-16 Cart. Delete方法:\BussinessLogicLayer\Cart.cs 468
代码22-17 Cart. LoadData方法:\BussinessLogicLayer\Cart.cs 468
代码22-18 Cart. RemoveBook方法:\BussinessLogicLayer\Cart.cs 469
代码22-19 Cart.Query方法:\BussinessLogicLayer\Cart.cs 469
代码22-20 IsString方法:\BussinessLogicHelper\ValidateUtility.cs 470
代码22-21 BookHelper.Add:\BussinessLogicHelper\BookHelper.cs 471
代码22-22 系统菜单控件定义:\UserControls\ HeaderMenu.ascx 474
代码22-23 控件加载事件:\UserControls\HeaderMenu.ascx.cs 474
代码22-24  “登录”/“离开”单击事件:\UserControls\ HeaderMenu.ascx.cs 475
代码22-25 CheckUser方法:\UserControls\UserCheck.ascx.cs 475
代码22-26 登录页面GridView控件定义:\WebLayer\Login.aspx 476
代码22-27 InitData ()方法:\BookList.aspx 478
代码22-28 Query()方法:\BookList.aspx.cs 478
代码22-29 Page_Load()方法:\BookList.aspx.cs 479
代码22-30 “查询”按钮单击事件:\BookList.aspx.cs 479
代码22-31 ResetQueryValue方法:\BookList.aspx.cs 480
代码22-32 GetSelected方法:\BookList.aspx.cs 481
代码22-33 “放入购物篮”按钮单击事件:\BookList.aspx.cs 481
代码22-34 “删除”按钮单击事件:\BookList.aspx.cs 482
代码22-35 InitData方法:\WebLayer\BookDetail.aspx.cs 483
代码22-36 Page_Load事件:\WebLayer\BookDetail.aspx.cs 484
代码22-37 “返回”按钮单击事件:\WebLayer\BookDetail.aspx.cs 484
代码22-38 “提交”按钮单击事件:\WebLayer\BookAdd.aspx.cs 485
代码22-39 GridView控件属性:\CartView.aspx.cs 487
代码22-40 InitData方法:\CartView.aspx.cs 488
代码22-41 DG_RowCommand方法:\CartView.aspx.cs 488
代码22-42 通用画图类Chart:\BusinessLayer\Chart.cs 490
代码22-43 GetColor方法:\BusinessLayer\Chart.cs 493
代码22-44 “统计方式”下拉框事件:\WebLayer\BookStatistics.aspx.cs 493
代码22-45 DrawChartByCategory:\WebLayer\BookStatistics.aspx.cs 494
代码22-46 DrawChartByPublisher:\WebLayer\BookStatistics.aspx.cs 494
代码22-47 DrawChartByPrice方法:\WebLayer\BookStatistics.aspx.cs 495
代码23-1 加密方法:\MyOA.CommonComponent\Encrypt.cs 510
代码23-2 解密方法:\MyOA.CommonComponent\Encrypt.cs 511
代码23-3 CreateTree方法:\MyOA.CommonComponent\Tree.cs 513
代码23-4 CreateSubTree方法:\MyOA.CommonComponent\Tree.cs 513
代码23-5 GetChilds方法:\MyOA.CommonComponent\Tree.cs 514
代码23-6 IsLeaf方法:\MyOA.CommonComponent\Tree.cs 515
代码23-7 GetLevel方法:\MyOA.CommonComponent\Tree.cs 516
代码23-8 GetParent方法:\MyOA.CommonComponent\Tree.cs 516
代码23-9 MyEventsLog:\MyOA.CommonComponent\EventsLog.cs 519
代码23-10 数据库连接配置:\Web.config 521
代码23-11 记录异常日志的Open方法:\DataAccessLayer\Database.cs 522
代码23-12 构造条件子句:\DataAccessHelper\SqlStringConstructor.cs 524
代码23-13 获取用户数据:\BussinessLogicLayer\User.cs 526
代码23-14 获取角色数据:\BussinessLogicLayer\Role.cs 529
代码23-15 查询角色数据:\BussinessLogicLayer\Role.cs 529
代码23-16 修改角色数据:\BussinessLogicLayer\Role.cs 530
代码23-17 获取部门数据:\BussinessLogicLayer\Department.cs 531
代码23-18 查询部门数据:\BussinessLogicLayer\Department.cs 531
代码23-19 获取工作计划数据:\BussinessLogicLayer\Plan.cs 533
代码23-20 添加新的工作计划:\BussinessLogicLayer\Plan.cs 533
代码23-21 修改工作计划数据:\BussinessLogicLayer\Plan.cs 534
代码23-22 获取公文数据:\BussinessLogicLayer\File.cs 535
代码23-23 添加新的公文:\BussinessLogicLayer\Plan.cs 536
代码23-24 修改公文数据:\BussinessLogicLayer\File.cs 536
代码23-25 查询公文数据:\BussinessLogicLayer\File.cs 537
代码23-26 删除公文数据:\BussinessLogicLayer\File.cs 538
代码23-27 获取公文状态数据:\BussinessLogicLayer\FileStatus.cs 539
代码23-28 查询公文状态数据:\BussinessLogicLayer\FileStatus.cs 540
代码23-29 安全添加公文:\BussinessLogicHelper\FileHelper.cs 541
代码23-30 菜单树控件数据加载方法:\UserControls\LeftTree.ascx.cs 543
代码23-31 用户合法性验证方法:\UserControls\LeftTree.ascx.cs 544
代码23-32 “登录”按钮单击事件:\Login.aspx.cs 544
代码23-33 “登录”按钮单击事件:\Login.aspx.cs 545
代码23-34 登录页面GridView控件定义:\UserList.aspx 547
代码23-35 登录页面加载事件:\UserList.aspx.cs 547
代码23-36 InitData方法:\UserList.aspx.cs 548
代码23-37 Query方法:\UserList.aspx.cs 548
代码23-38 ResetQueryValue方法:\UserList.aspx.cs 549
代码23-39 “查询”按钮单击事件:\UserList.aspx.cs 550
代码23-40 “修改”按钮单击事件:\UserList.aspx.cs 550
代码23-41 GetSelected方法:\UserList.aspx.cs 550
代码23-42 “删除”按钮单击事件:\UserList.aspx.cs 551
代码23-43 “重置密码”按钮单击事件:\UserList.aspx.cs 552
代码23-44 InitData方法:UerAdd.aspx.cs 553
代码23-45 “保存”按钮单击事件:\UerAdd.aspx.cs 554
代码23-46 InitData方法:\UerUpdate.aspx.cs 555
代码23-47 “保存”按钮单击事件:\UerUpdate.aspx.cs 556
代码23-48 “保存”按钮单击事件:\UserResetPwd.aspx.cs 557
代码23-49 GridView定义:\RoleMange.aspx 559
代码23-50 InitData方法:\RoleMange.aspx.cs 560
代码23-51 “授权”按钮单击事件:\RoleMange.aspx.cs 562
代码23-52 页面加载事件:\PlanList.aspx.cs 563
代码23-53 InitData方法:\PlanList.aspx.cs 564
代码23-54 InitData方法:\PlanList.aspx.cs 564
代码23-55 日历控件单击事件:\PlanList.aspx.cs 565
代码23-56 “添加”按钮单击事件:\PlanList.aspx.cs 565
代码23-57 “修改”按钮单击事件:\PlanList.aspx.cs 566
代码23-58 公文浏览页面加载事件:\FileList.aspx.cs 567
代码23-59 公文浏览页面加载事件:\FileList.aspx.cs 567
代码23-60 Query方法:\FileList.aspx.cs 568
代码23-61 “删除”按钮单击事件:\FileList.aspx.cs 568
代码23-62 InitData方法:UerAdd.aspx.cs 570
代码23-63 “部门”下拉框选择改变事件:UerAdd.aspx.cs 570
代码23-64 “上报”按钮单击事件:FileAdd.aspx.cs 571
代码23-65 InitData方法:FileDetail.aspx.cs 573
代码23-66 “审阅”按钮单击事件方法:FileDetail.aspx.cs 574
代码23-67 页面加载事件:\LogView.aspx.cs 576
代码23-68 InitData方法:\LogView.aspx.cs 576
代码23-69 Query方法:\LogView.aspx.cs 577
代码23-70 “查询”按钮单击事件:\LogView.aspx.cs 577

本目录推荐