内容简介
1.1.1 微软公司的梦想
1.1.2 .NET能做什么
第1篇 C#编程基础
第1章 C#与.NET Framework简介
1.1 什么是.NET Framework
1.1.3 认识.NET
1.2.1 C#与.NET
1.2 什么是C#
1.2.2 与其他语言的比较
1.2.3 C#的特点
1.3.1 Visual Studio.NET开发环境
1.3 第一个C#程序:Hello World
1.3.2 第一个Windows Console程序
代码1-1 控制台HelloWorld示例:HelloWorld.cs
1.3.3 第一个Windows Form程序
1.3.4 第一个ASP.NET程序
1.3.5 源代码简短分析
温故知新
2.1.1 值类型
第2章 C#程序设计基础
2.1 数据类型
2.1.2 引用类型
2.1.3 类型转换
2.1.4 装箱和拆箱
2.2.2 声明和使用变量
2.2 变量和常量
2.2.1 命名变量
2.2.3 声明和使用常量
2.3.3 赋值运算符
2.3 运算符
2.3.1 算数运算符
2.3.2 字符串运算符
2.3.6 其他运算符
2.3.4 逻辑运算符
2.3.5 位运算符
2.4.1 使用if语句实现分支
2.3.7 运算符的优先级
2.4 流程控制
代码2-1 if语句示例:Class 1.cs
2.4.2 使用switch语句实现分支
2.4.3 使用while语句实现循环
代码2-2 switch语句示例:Class 1.cs
2.4.4 使用for语句实现循环
代码2-3 while语句示例:Class 1.cs
2.4.5 使用break/continue控制循环
代码2-4 for语句示例:Class 1.cs
代码2-5 break continue语句示例:Class 1.cs
2.4.6 使用#define进行条件编译
2.5.1 用类搭建程序
2.5 程序的结构
代码2-6 #define语句示例:Class 1.cs
2.5.2 使用命名空间
代码2-7 namespace语句示例:Class 1.cs
2.6 异常处理
2.5.3 寻找程序的入口
代码2-8 try、catch和finally语句示例:Class 1.cs
温故知新
第3章 类
3.1.1 声明类
3.1 定义类
代码3-1 public和private示例:Class 1.cs
3.1.2 声明类的静态特征
3.1.3 声明类的动态行为
代码3-2 声明方法示例:Class 1.cs
3.1.4 创建类实例
3.1.5 继承类
3.2 Visual Studio.NET中的OOP工具
3.2.1 使用Class View窗口
代码3-3 类继承示例:Class 1.cs
3.2.2 使用Object Browser
3.3.1 域和属性
代码3-4 域和属性示例:Class 1.cs
3.3 属性详谈
3.3.2 静态属性
代码3-5 静态属性示例:Class 1.cs
3.3.3 重载属性
代码3-6 属性重载示例:Class 1.cs
3.4.1 方法的参数
3.4 方法详谈
代码3-7 使用ref传递引用参数示例:Class 1.cs
代码3-8 使用out传递输出参数示例:Class 1.cs
代码3-9 使用params传递多个参数示例:Class 1.cs
3.4.3 使用析构函数
3.4.2 使用构造函数
代码3-10 构造函数示例:Class 1.cs
3.4.4 使用静态方法
代码3-12 静态方法示例:Class 1.cs
代码3-11 析构函数示例:Class 1.cs
3.4.5 重载方法
代码3-13 方法重载示例:Class 1.cs
3.4.6 访问父类方法
代码3-14 访问父类方法示例:Class 1.cs
3.4.7 重载运算符
代码3-15 运算符重载示例:Class 1.cs
温故知新
第4章 抽象类、多态及接口
4.1 抽象类
4.1.1 什么是抽象类
4.1.2 声明抽象类
4.1.3 实现抽象方法
代码4-2 实现运动员抽象方法:Class 1.cs
代码4-1 定义运动员抽象类:Class 1.cs
4.2 多态
代码4-3 使用多态性示例:Class 1.cs
4.2.2 多态的实现
4.2.1 什么是多态
4.3.1 什么是接口
4.3.2 声明接口
4.3 接口
4.2.3 区分多态和重载
代码4-4 声明IShape接口:Class 1.cs
4.3.3 实现接口
代码4-5 继承IShape接口实现矩形类:Class 1.cs
代码4-6 使用接口实现多态示例:Class 1.cs
温故知新
第5章 调试和异常处理
5.1.1 使用Visual Studio.NET错误报告
5.1 程序调试技术
代码5-1 具有逻辑错误的代码示例:Class 1.cs
5.1.2 寻找逻辑错误
5.1.3 单步执行程序
5.1.4 设置断点
5.1.5 在哪里设置断点
代码5-2 未处理异常的代码示例
代码5-3 使用try-catch处理异常的代码示例
5.2.1 使用try-catch-finally
5.2 异常处理
代码5-4 结构良好的矩形类实现
5.2.2 使用系统日志
5.3 高质量编码标准
5.3.1 好的编码结构
5.3.2 好的注释风格
代码5-6 具有良好注释的矩形类实现
代码5-5 结构混乱的矩形类实现
5.3.3 好的命名规范
代码5-7 方法功能独立的矩形类实现
5.3.4 避免文件过大
代码5-8 方法功能混乱的矩形类实现
代码5-9 异常处理的方法示例
5.3.5 使用异常处理
温故知新
代码5-10 异常未处理的方法示例
第2篇 C#核心技术
第6章 C#.NET类库框架
6.1 .NET命名空间框架
6.2 编程基础命名空间
6.3 数据操作命名空间
6.4 Web应用命名空间
6.6 组件模型命名空间
6.5 Windows应用命名空间
6.8 安全控制命名空间
6.7 框架服务命名空间
6.10 工程配置命名空间
6.9 网络应用命名空间
6.11 全球/本地化命名空间
6.12 反射命名空间
温故知新
第7章 字符串操作
7.1 静态串String
7.1.1 比较字符串
代码7-1 使用Compare比较两个字符串示例:Class 1.cs
代码7-4 使用==和!=比较两个字符串示例:Class 1.cs
代码7-3 使用Equals比较两个字符串示例:Class 1.cs
7.1.2 定位字符和子串
代码7-2 使用CompareTo比较两个字符串示例:Class 1.cs
代码7-5 使用StartsWith判断首字符串示例:Class 1.cs
代码7-6 寻找子串位置示例:Class 1.cs
7.1.3 格式化字符串
代码7-7 设置字符串格式示例:Class 1.cs
7.1.4 连接字符串
代码7-10 使用“+”连接字符串示例:Class 1.cs
代码7-9 使用Join连接字符串示例:Class 1.cs
代码7-8 使用Concat连接字符串示例:Class 1.cs
7.1.5 分裂字符串
7.1.6 插入和填充字符串
代码7-11 使用Split分裂字符串示例:Class 1.cs
代码7-12 使用Insert插入字符串示例:Class 1.cs
代码7-14 使用Remove删除字符串示例:Class 1.cs
代码7-13 使用PadLeft填充字符串示例:Class 1.cs
7.1.7 删除和剪切字符串
代码7-15 使用Trim去掉首尾的特殊符号示例:Class 1.cs
代码7-16 使用Copy复制字符串示例:Class 1.cs
7.1.8 复制字符串
代码7-17 使用CopyTo复制字符串示例:Class 1.cs
7.2 动态串StringBuilder
代码7-18 使用Replace替换字符串示例:Class 1.cs
7.1.9 替换字符串
7.1.10 更改大小写
代码7-19 使用ToUpper更改字符串大小写示例:Class 1.cs
7.1.11 String小结
7.2.1 声明StringBuilder串
7.2.2 设置StringBuilder容量
7.2.3 追加操作
代码7-20 使用Append追加字符串示例:Class 1.cs
代码7-23 使用Remove删除字符串示例:Class 1.cs
7.2.4 插入操作
7.2.5 删除操作
7.2.6 替换操作
代码7-21 使用AppendFormat追加特定格式的字符串示例:Class 1.cs
代码7-22 使用Insert插入字符串示例:Class 1.cs
7.3.1 字符编码概述
代码7-24 使用Replace替换字符串示例:Class 1.cs
7.2.7 与String比较
7.3 字符串编码
7.3.2 使用字符编码类
代码7-25 显示编码形式示例:Class 1.cs
7.4 使用正则表达式
7.4.1 正则表达式简介
7.4.2 使用Regex类
7.4.3 构造正则表达式
代码7-26 验证电子邮件地址示例:Class 1.cs
7.4.4 示例:验证URL
代码7-27 验证URL示例:Class 1.cs
温故知新
8.1.1 数组的概念
第8章 数组
8.1 C#数组简介
代码8-1 输出数组元素:Class 1.cs
8.1.2 多维数组
8.1.3 创建C#数组
8.2 使用数组
8.2.1 System.Array类
8.2.2 访问数组元素
代码8-2 输出交错数组元素:Class 1.cs
代码8-3 使用GetValue输出二维数组元素示例:Class 1.cs
代码8-4 利用for语句遍历数组示例:Class 1.cs
8.2.3 遍历数组
8.2.4 同步数组
代码8-7 利用Sort排序数组示例:Class 1.cs
代码8-5 利用foreach遍历数组示例:Class 1.cs
代码8-6 利用lock同步数组示例:Class 1.cs
8.2.5 数组排序
代码8-8 利用Sort实现数组多关键字排序示例:Class 1.cs
8.2.6 查找元素
代码8-9 利用BinarySearch搜索数组元素示例:Class 1.cs
代码8-10 利用Contains判断数组是否包含某个元素示例:Class 1.cs
8.2.7 反转数组
代码8-11 利用Reverse反转数组示例:Class 1.cs
8.2.8 复制数组
代码8-12 利用Copy复制数组示例:Class 1.cs
8.2.9 动态创建数组
代码8-13 利用CopyTo复制数组示例:Class 1.cs
代码8-14 利用CreateInstance动态创建数组示例:Class 1.cs
8.2.10 综合示例
代码8-15 图书类Book的实现代码:Class 1.cs
代码8-16 按图书名显示图书实现代码:Class 1.cs
代码8-17 BookList类完整实现代码:Class 1.cs
代码8-18 Main函数:Class 1.cs
温故知新
第9章 集合
9.1 System.Collections命名空间
9.2 ArrayList类
9.2.2 添加元素
9.2.1 创建列表
代码9-2 向ArrayList中插入元素示例:Class 1.cs
9.2.3 插入元素
代码9-1 向ArrayList中添加元素示例:Class 1.cs
9.2.4 删除元素
代码9-3 从ArrayList中删除元素示例:Class 1.cs
9.2.5 简单排序
代码9-4 使用Sort方法对列表排序示例:Class 1.cs
9.2.6 复杂排序
代码9-5 使用Compare方法实现逆比较示例:Class 1.cs
代码9-6 使用BinarySearch方法查找元素示例:Class 1.cs
9.2.7 查找元素
代码9-7 使用foreach遍历列表示例:Class 1.cs
代码9-8 使用GetEnumerator遍历列表示例:Class 1.cs
9.2.8 遍历列表
9.3.1 创建队列
9.3 Queue类
9.3.2 元素入队
代码9-9 使用Enqueue元素入队示例:Class 1.cs
9.3.3 元素出队
代码9-10 使用Dequeue元素出队示例:Class 1.cs
9.4 Stack类
9.4.1 创建堆栈
9.4.2 元素入栈
代码9-11 使用Push元素入栈示例:Class 1.cs
9.4.3 元素出栈
代码9-12 使用Pop元素出栈示例:Class 1.cs
9.5 Hashtable类和SortedList类
9.5.1 Hashtable
9.5.2 构造普通散列表
代码9-13 使用Hashtable对象实现散列表示例:Class 1.cs
代码9-14 使用Hashtable对象实现散列表示例:Class 1.cs
代码9-15 搜索散列表示例:Class 1.cs
9.5.3 SortedList
9.5.4 搜索排序散列表
代码9-16 搜索散列表调用示例:Class 1.cs
温故知新
10.1.1 数据访问技术
第10章 数据操作
10.1 ADO.NET概述
10.1.2 System.Data命名空间
10.2 连接数据库
10.2.1 SqlConnection类
10.2.2 设置连接参数
10.2.3 创建SQL Server连接
代码10-1 创建SQL Server连接示例:Class 1.cs
代码10-2 关闭SQL Server连接示例:Class 1.cs
10.2.4 断开SQL Server连接
10.2.5 管理其他数据源连接
10.3 与数据库交互
10.3.1 使用SqlCommand提交增删改命令
代码10-3 使用SqlCommand对象修改数据示例:Class 1.cs
10.3.2 使用SqlCommand获取查询命令
代码10-4 使用SqlCommand对象查询数据示例:Class 1.cs
10.3.3 使用DataAdapter提交查询命令
代码10-5 使用SqlDataAdapter对象提交查询示例:Class 1.cs
10.4.1 了解数据集
10.4 管理内存数据
10.4.2 使用DataTable实现内存表
代码10-6 构造DataTable对象示例:Class 1.cs
代码10-7 输出DataTable对象中的数据示例:Class 1.cs
10.4.3 使用DataSet管理数据
代码10-8 使用DataSet管理内存数据示例:Class 1.cs
10.4.4 使用DataReader获取只读数据
代码10-9 输出DataSet中的DataTable示例:Class 1.cs
代码10-10 使用SqlDataReader查询数据示例:Class 1.cs
10.4.5 比较DataSet和DataReader
10.5.1 使用File对象操作文件
10.5 文件操作
代码10-11 使用File对象创建文件示例:Class 1.cs
代码10-12 使用File对象拷贝文件示例:Class 1.cs
10.5.2 使用StreamWriter写入文件
代码10-13 使用File对象移动文件示例:Class 1.cs
代码10-14 使用File对象删除文件示例:Class 1.cs
10.5.3 使用SteamReader读取文件
代码10-15 使用StreamWriter对象写文件示例:Class 1.cs
代码10-16 使用StreamReader对象读文件示例:Class 1.cs
温故知新
11.1.1 理解XML
第11章 XML编程
代码11-1 XML通讯录示例:\TestDocs\test.xml
11.1 .NET框架中的XML
11.1.2 XML文档对象模型(DOM)
11.1.3 System.Xml命名空间
代码11-2 使用XmlDocument对象读取XML示例:Class 1.cs
11.2 读取XML文档
11.2.1 使用XmlDocument读取XML
11.2.2 使用XmlReader读取XML
代码11-3 使用XmlTextReader对象读取XML示例:Class 1.cs
11.2.3 使用XmlNode读取节点
代码11-4 使用XmlDocument对象读取XML示例:Class 1.cs
11.3 使用XPath检索XML
11.3.1 基本XPath表达式
11.3.2 限定检索范围
11.3.3 使用函数设置检索条件
11.3.4 使用运算符设置检索条件
11.3.5 使用通配符模糊匹配
11.3.6 综合示例
11.4.1 创建新DOM节点
11.4 修改XML文档
11.4.2 为DOM节点创建属性
代码11-5 使用xpath插入XML节点示例:Class 1.cs
代码11-6 为DOM节点创建属性示例:Class 1.cs
代码11-7 修改XML节点值示例:Class 1.cs
11.4.3 修改DOM节点
代码11-8 删除XML节点值示例:Class 1.cs
11.4.4 删除DOM节点
11.5.1 使用DataSet加载XML数据
代码11-9 将DOM写入XML文档示例:Class 1.cs
代码11-10 将XML文档加载到DataSet示例:Class 1.cs
11.4.5 将DOM树写入XML文档
11.5 集成DataSet
11.5.2 使用XmlDataDocument加载关系数据
代码11-11 用XML加载关系数据表示例:Class 1.cs
温故知新
第3篇 开发网络程序
12.1 什么是ASP.NET
第12章 ASP.NET概述
12.1.1 页面从静态到动态
12.1.2 ASP.NET的诞生
12.1.3 ASP.NET能做什么
12.1.4 IIS管理ASPX页面
12.1.5 ASP.NET的优点
12.2 ASP.NET语法
12.2.1 剖析ASPX页面
12.2.2 使用〈%〉嵌入代码
代码12-1 使用〈%〉嵌入C#代码示例:Tag1
12.2.3 使用〈Script〉...〈/Script〉嵌入代码
代码12-2 使用〈Script〉嵌入C#代码示例:Tag2
代码12-3 使用控件示例:Example_Controls
12.2.4 使用Server控件
12.2.5 使用〈%--注释--%〉
12.2.6 ASP.NET 2.0新特性
12.2.8 使用〈%@Import%〉引入类库
12.2.7 用〈%@Page...%〉设置页面属性
12.3.2 使用〈%@CodeFile%〉绑定代码
代码12-4 ASPX页面的结构示例:HelloWorld_ASPNET
12.3 代码绑定技术
12.3.1 分离显示功能和逻辑功能
代码12-5 CS代码文件示例:HelloWorld_ASPNET
12.3.3 控件事件接收用户输入
温故知新
第13章 ASP.NET核心对象
13.1 Page类
13.1.1 Page类概述
13.1.2 重定位页面
13.2.1 向浏览器输出信息
13.2 ASP.NET核心对象
13.2.2 获取用户输入
13.2.3 获取服务器信息
13.3 共享数据
13.3.1 在程序级共享数据
13.3.2 在用户级共享数据
13.4 综合示例
13.4.1 输出文件内容
13.4.2 使用Global.asax
代码13-1 使用Global类成员示例
13.4.3 验证用户身份
温故知新
14.1 HtmlControls概述
第14章 HTML服务器控件
14.2 输入控件:HtmlInput
14.2.1 按钮:HtmlInputButton
14.2.2 单行文本框:HtmlInputText
14.2.3 多行文本框:HtmlTextArea
14.2.4 隐藏文本框:HtmlInputHidden
代码14-2 HtmlInputHidden控件示例:Button2_ServerClick方法
代码14-1 HtmlInputHidden控件示例:Button1_ServerClick方法
14.2.5 文件框:HtmlInputFile
14.2.6 复选框:HtmlInputCheckBox
代码14-3 HtmlInputFile控件示例:Button1_ServerClick方法
代码14-4 HtmlInputCheckBox控件示例:Button1_ServerClick方法
14.2.7 单选框:HtmlInputRadioButton
14.3.1 窗体:HtmlForm
14.3 容器控件:HtmlContainer
14.3.2 表格:HtmlTable
代码14-5 HtmlTable控件示例:Table1
14.3.3 列表框/下拉框控件:HtmlSelect
代码14-6 HtmlSelect控件示例:Button1_ServerClick方法
14.4 图像控件:HtmlImage
温故知新
代码14-7 HtmlImage控件示例:Button1_ServerClick方法
15.1 WebControls概述
第15章 Web服务器控件
15.2.1 按钮:Button
15.2 输入控件
代码15-1 Button控件Command事件示例:WebForm 1.aspx
代码15-2 Button控件Command事件示例:WebForm 1.aspx.cs
15.2.2 复选框:CheckBox
代码15-3 CheckBox控件示例:WebForm 1.aspx
代码15-4 CheckBox控件示例:WebForm 1.aspx.cs
15.2.3 单选框:RadioButton
15.2.4 超级链接:HyperLink
15.2.5 链接按钮:LinkButton
15.2.6 图像:Image
15.2.7 图像按钮:ImageButton
15.2.8 文本框:TextBox
15.2.9 图像地图:ImageMap
15.2.10 项列表:BulletedList
15.3 列表控件
15.3.1 下拉框:DropDownList
15.3.2 列表框:ListBox
代码15-5 DropDownList控件示例:WebForm 1.aspx.cs
15.3.3 复选框列表:CheckBoxList
代码15-6 ListBox控件示例:WebForm 1.aspx.cs
代码15-7 CheckBoxList控件示例:WebForm 1.aspx.cs
代码15-8 RadioButtonList控件示例:WebForm 1.aspx.cs
15.3.4 单选框列表:RadioButtonList
15.4.1 面板:Panel
15.4 容器控件
代码15-9 Panel控件示例:WebForm 1.aspx.cs
15.4.2 表格:Table
代码15-10 Table控件示例:WebForm 1.aspx.cs
代码15-11 Table控件示例:WebForm 1.aspx.cs
15.5 其他控件
15.5.1 广告栏控件:AdRotator
代码15-12 Table控件示例:WebForm 1.aspx.cs
代码15-13 AdRotator控件示例:adXm 1.xml
15.5.2 日历控件:Calendar
代码15-14 Calendar控件示例:WebForm 1.aspx.cs
15.6 用户控件
15.6.1 什么是用户控件
15.6.2 创建用户控件
15.6.3 定义用户控件属性
15.6.4 处理用户控件事件
温故知新
16.1 数据绑定概述
第16章 数据绑定技术
16.2 列表控件
16.2.1 绑定DataSet到DropDownList
代码16-1 DropDownList数据绑定:InitData@WebForm 1.aspx.cs
代码16-2 DropDownList数据绑定:Page_Load@WebForm 1.aspx.cs
16.2.2 绑定DataReader到ListBox
代码16-3 ListBox数据绑定:InitData@WebForm 1.aspx.cs
16.2.3 绑定DataTable到CheckBoxList
16.2.4 绑定HashTable到RadioButtonList
代码16-4 CheckBoxList数据绑定:InitData@WebForrn 1.aspx.cs
代码16-5 RadioButtonList数据绑定:GetHashTable@WebForm 1.aspx.cs
代码16-6 CheckBoxList数据绑定:InitData@WebForm 1.aspx.cs
16.3 网格视图:GridView
16.3.1 比较DataGrid和GridView
16.3.2 GridView概述
16.3.3 用GridView自动显示数据
16.3.4 用GridView定制显示数据
16.3.5 在GridView中修改、删除、选择数据
代码16-7 GridView数据绑定:WebForm 1.aspx
16.3.6 查看GridView详细数据
代码16-8 GridView:InitData@DetailInfo.aspx.cs
代码16-9 GridView:Page_Load@DetailInfo.aspx.cs
16.3.7 在GridView中分页浏览数据和排序数据
16.3.8 GridView和DetailsView实现主/详细视图
16.4.1 单个记录显示控件:FormView
16.4 其他数据绑定控件
16.4.2 数据列表:DataList
代码16-10 DataList示例:WebForm 1.aspx
16.4.3 循环控件:Repeater
代码16-11 Repeater示例:ItemCommand@WebForm 1.aspx.cs
温故知新
第17章 安全和验证策略
17.1 Web安全性概述
17.2 IIS安全机制
17.2.1 IIS用户验证机制
17.2.2 限制匿名用户
17.2.3 控制来访IP地址
17.2.4 使用SSL加密传递信息
17.3 ASP.NET验证控件
17.3.1 必填验证控件:RequiredFieldValidator
17.3.2 比较验证控件:CompareValidator
代码17-1 必填验证控件定义:WebForm 1.aspx
代码17-3 常数比较示例:WebForm 1.aspx
代码17-2 数据类型比较示例:WebForm 1.aspx
17.3.3 范围验证控件:RangeValidator
代码17-4 与控件比较示例:WebForm 1.aspx
17.3.4 正则表达式验证控件:RegularExpressionValidator
代码17-5 范围验证控件定义:WebForm 1.aspx
代码17-6 正则表达式验证控件定义:WebForm 1.aspx
17.3.5 自定义验证控件:CustomValidator
代码17-7 验证输入框示例:WebForm 1.aspx
代码17-8 验证输入框示例:WebForm 1.aspx.cs
代码17-9 验证单选框示例:WebForm 1.aspx.cs
代码17-10 验证单选框示例:WebForm 1.aspx.cs
17.3.6 综合示例:用户注册页面
温故知新
第18章 Web服务简述
18.1 Web服务概述
18.1.2 Web服务基础结构
18.1.1 Web服务简介
18.2 创建和使用Web服务
18.2.1 创建Web服务
代码18-1 Web服务类定义和实现:Service 1.asmx.cs
代码18-2 为Web服务类HelloWorld指定特性:HelloWorld.asmx.cs
18.2.2 创建Web服务类
18.2.3 创建Web服务方法
代码18-3 实现SayHello方法:HelloWorld.asmx.cs
代码18-4 实现Add方法:HelloWorld.asmx.cs
18.2.5 测试Web服务
18.2.4 部署Web服务
代码18-5 CallWebServiceTest页面HTML:WebForm 1.aspx
18.2.6 使用Web服务构造ASP.NET Web应用
代码18-6 调用Web服务中的SayHello方法:WebForm 1.aspx.cs
代码18-7 调用Web服务中的Add方法:WebForm 1.aspx.cs
18.3 使用ASP.NET核心对象
18.3.2 使用Application对象保存数据
18.3.1 使用Session对象保存数据
18.3.4 访问Request对象
代码18-8 Web服务中获取浏览器信息:WebForm 1.aspx.cs
18.3.3 访问Server对象
18.3.5 访问Response对象
代码18-9 Web服务中记录访问日志:WebForm 1.aspx.cs
温故知新
19.1 C#项目开发规范
第4篇 综合实例
19.1.1 规范化命名
第19章 C#编程规范
代码19-1 类命名示例
代码19-3 属性命名示例
代码19-2 私有成员命名示例
代码19-4 方法命名示例
代码19-6 接口命名示例
代码19-5 方法参数命名示例
19.1.2 规范化大括号和代码缩进
19.1.3 规范化小括号使用
代码19-7 代码文件级注释示例
19.1.4 规范化注释
代码19-9 代码功能块级注释示例
代码19-8 代码函数级注释示例
代码19-10 代码行级注释示例
19.1.6 实施标准
19.2.1 Web系统的三层结构
19.1.5 管理文档
19.2 Web系统的逻辑结构
19.2.2 示例NorthWind的整体架构
19.2.3 数据访问层
代码19-11 Database类实现:DataAccessLayer\Database.cs
19.2.4 业务逻辑层
代码19-12 Category类实现:BusinessLogicLayer\Category.cs
代码19-13 “查询”按钮单击事件:DataAccessLayer\Database.cs
19.2.5 页面显示层
温故知新
第20章 多用户聊天室
20.2.1 用户登录
20.1 系统目标
20.2 系统预览
20.2.3 浏览信息
20.2.2 发表信息
20.2.4 注销身份
20.3 数据库设计
20.3.1 设计数据库
20.2.5 工程文件一览
20.4.1 配置数据库连接
20.3.2 实现数据库
20.4 数据访问层
20.4.2 Database类成员一览
20.4.3 实现Database类
代码20-1 Database构造函数:\DataAccessLayer\Database.cs
代码20-3 Database.Dispose方法:\DataAccessLayer\Database.cs
代码20-2 Database析构函数:\DataAccessLayer\Database.cs
代码20-5 Database.Close方法:\DataAccessLayer\Database.cs
代码20-6 Database.ExecuteSQL方法:\DataAccessLayer\Database.cs
代码20-4 Database.Open方法:\DataAccessLayer\Database.cs
代码20-8 Database.GetDataRow方法:\DataAccessLayer\Database.cs
代码20-7 Database.GetDataSet方法:\DataAccessLayer\Database.cs
20.5.1 用户类User
20.5 业务逻辑层
代码20-9 User.LoadData方法:\BussinessLogicLayer\User.cs
代码20-10 User.Add方法:\BussinessLogicLayer\User.cs
20.5.2 消息类Message
代码20-11 Message.Add方法:\BussinessLogicLayer\Message.cs
代码20-12 Message.LoadTop10方法:\BussinessLogicLayer\Message.cs
20.6.1 用户登录Login.aspx
20.6 页面显示层
代码20-14 登录按钮单击事件:\WebLayer\Login.aspx.cs
代码20-13 登录页面控件定义:\WebLayer\Login.aspx
20.6.2 用户发言Speak.aspx
代码20-15 发言页面控件定义:\WebLayer\Speak.aspx
代码20-17 离开按钮单击事件:\WebLayer\Speak.aspx.cs
代码20-16 发言按钮单击事件:\WebLayer\Speak.aspx.cs
代码20-18 页面加载事件:\WebLayer\ShowMessage.aspx.cs
代码20-19 InitData:\WebLayer\ShowMessage.aspx.cs
20.6.3 浏览信息ShowMessage.aspx
代码20-20 主页面框架:\WebLayer\Main.aspx
20.6.4 主页面Main.aspx
温故知新
21.1 系统目标
第21章 开放论坛系统
21.2.1 用户注册及登录
21.2 系统预览
21.2.2 浏览主题列表
21.2.4 修改主题信息
21.2.3 发表新主题
21.2.6 删除主题
21.2.5 查看主题及回复
21.2.7 工程文件一览
21.3 数据库设计
21.3.1 设计数据库
21.3.2 实现数据库
21.4.1 配置数据库连接
21.4.2 Database类成员一览
21.4 数据访问层
21.4.3 实现Database类
代码21-1 Database.ExecuteSQL方法:\DataAccessLayer\Database.cs
代码21-2 Database.GetDataReader方法:\DataAccessLayer\Database.cs
代码21-3 Database.Insert方法:\DataAccessLayer\Database.cs
代码21-4 Database.Update方法:\DataAccessLayer\Database.cs
21.5 数据访问接口层
代码21-5 ValidateDataRow_S方法:\DataAccessHelper\GetSafeData.cs
21.5.1 得到安全数据
21.5.2 得到安全SQL语句
21.6 业务逻辑层
21.6.1 用户类User
代码21-6 GetQuotedString方法:\DataAccessHelper\SqlStringFormat.cs
代码21-7 User.LoadData方法:\BussinessLogicLayer\User.cs
代码21-8 User.Add方法:\BussinessLogicLayer\User.cs
代码21-9 HasUser方法:\BussinessLogicLayer\User.cs
21.6.2 主题类Topic
代码21-10 Topic.Add方法:\BussinessLogicLayer\Topic.cs
代码21-11 Topic.LoadData方法:\BussinessLogicLayer\Topic.cs
代码21-12 Topic.LoadData方法:\BussinessLogicLayer\Topic.cs
代码21-13 Topic.LoadData方法:\BussinessLogicLayer\Topic.cs
代码21-15 Topic.QueryReplies方法:\BussinessLogicLayer\Topic.cs
代码21-14 Topic.QueryTopics方法:\BussinessLogicLayer\Topic.cs
21.6.3 回复类Reply
代码21-16 Reply.Add方法:\BussinessLogicLayer\Topic.cs
21.7 页面显示层
代码21-17 登录页面控件定义:\WebLayer\Login.aspx
21.7.1 用户登录Login.aspx
代码21-19 “游客”按钮单击事件:\WebLayer\Login.aspx.cs
代码21-18 “登录”按钮单击事件:\WebLayer\Login.aspx.cs
代码21-20 用户注册页面控件定义:\WebLayer\Register.aspx
21.7.2 用户注册Register.aspx
代码21-21 “是否存在”单击事件:\WebLayer\Register.aspx.cs
代码21-22 “注册”按钮单击事件:\WebLayer\Register.aspx.cs
代码21-23 浏览主题页面GridView控件:\TopicList.aspx
21.7.3 浏览主题列表TopicList.aspx
代码21-25 InitData方法:\TopicList.aspx.cs
代码21-26 按钮列单击事件:\TopicList.aspx.cs
代码21-24 页面加载事件:\TopicList.aspx.cs
代码21-27 修改确认:\TopicList.aspx.cs
代码21-28 “确定”按钮单击事件:\WebLayer\TopicAdd.aspx.cs
21.7.4 添加主题TopicAdd.aspx
代码21-29 InitData:\WebLayer\TopicUpdate.aspx.cs
21.7.5 修改主题TopicUpdate.aspx
代码21-30 “确定”按钮单击事件:\WebLayer\TopicUpdate.aspx.cs
21.7.6 查看主题详细内容TopicDetail.aspx
代码21-31 InitData方法:\WebLayer\TopicDetail.aspx.cs
代码21-32 InitData方法:\WebLayer\TopicDetail.aspx.cs
代码21-33 “确定”按钮单击事件:\WebLayer\TopicReply.aspx.cs
21.7.7 回复主题TopicReply.aspx
21.7.8 拒绝非法用户
代码21-34 CheckUser()方法:\WebLayer\TopicReply.aspx.cs
代码21-35 CheckUser()方法:\WebLayer\TopicReply.aspx.cs
温故知新
第22章 电子商务系统
22.1 系统目标
22.1.1 用户行为分析
22.1.2 系统目标
22.2 系统预览
22.2.1 浏览、查询图书
22.2.2 查看图书详细信息
22.2.4 用户登录、注册
22.2.3 购买图书
22.2.6 图书管理
22.2.5 购物篮管理
22.2.7 图书销量统计
22.3.1 设计数据库
22.2.8 工程文件一览
22.3 数据库设计
22.3.2 实现数据库
22.4 数据访问层
22.5 数据访问接口层
22.4.2 数据库类实现
22.4.1 配置数据库连接
22.5.1 获取安全数据
代码22-1 ValidateDataReader_S:\DataAccessHelper\GetSafeData.cs
代码22-2 GetQuotedString方法:\DataAccessHelper\SqlStringFormat.cs
22.5.2 构造SQL语句
22.6.2 图书类Book
22.6 业务逻辑层
22.6.1 用户类User
代码22-4 Book.Update方法:\BussinessLogicLayer\Book.cs
代码22-3 Book.Add方法:\BussinessLogicLayer\Book.cs
代码22-6 Book.LoadData方法:\BussinessLogicLayer\Book.cs
代码22-5 Book.Delete方法:\BussinessLogicLayer\Book.cs
代码22-7 Book.QueryBooks(Hashtable):\BussinessLogicLayer\Book.cs
代码22-8 Book.QueryBooks(Hashtable,string,string):\BussinessLogicLayer\Book.cs
代码22-9 Book.GetSaleCountByCategory方法:\Book.cs
代码22-10 Book.GetSaleCountByPublisher方法:\Book.cs
代码22-11 Book.GetSaleCountByPrice方法:\Book.cs
22.6.3 图书类别类Category
代码22-13 Category.Query方法:\BussinessLogicLayer\Category.cs
代码22-12 Category.LoadData方法:\BussinessLogicLayer\Category.cs
22.6.4 购物篮类Cart
代码22-14 Cart.Add方法:\BussinessLogicLayer\Cart.cs
代码22-16 Cart.Delete方法:\BussinessLogicLayer\Cart.cs
代码22-17 Cart.LoadData方法:\BussinessLogicLayer\Cart.cs
代码22-15 Cart.Update方法:\BussinessLogicLayer\Cart.cs
代码22-19 Cart.Query方法:\BussinessLogicLayer\Cart.cs
代码22-18 Cart.RemoveBook方法:\BussinessLogicLayer\Cart.cs
22.7.1 数据验证类
代码22-20 IsString方法:\BussinessLogicHelper\ValidateUtility.cs
22.7 业务逻辑接口层
代码22-21 BookHelper.Add:\BussinessLogicHelper\BookHelper.cs
22.7.2 图书接口类
代码22-23 控件加载事件:\UserControls\HeaderMenu.ascx.cs
22.8.1 系统菜单自定义控件
22.8 自定义控件
代码22-22 系统菜单控件定义:\UserControls\HeaderMenu.ascx
代码22-25 CheckUser方法:\UserControls\UserCheck.ascx.cs
22.8.2 用户验证自定义控件
代码22-24 “登录”/“离开”单击事件:\UserControls\HeaderMenu.ascx.cs
代码22-26 登录页面GridView控件定义:\WebLayer\Login.aspx
22.9 页面显示层
22.9.1 浏览、查询图书BookList.aspx
代码22-27 InitData()方法:\BookList.aspx
代码22-28 Query()方法:\BookList.aspx.cs
代码22-29 Page_Load()方法:\BookList.aspx.cs
代码22-30 “查询”按钮单击事件:\BookList.aspx.cs
代码22-31 ResetQueryValue方法:\BookList.aspx.cs
代码22-32 GetSelected方法:\BookList.aspx.cs
代码22-33 “放入购物篮”按钮单击事件:\BookList.aspx.cs
代码22-34 “删除”按钮单击事件:\BookList.aspx.cs
22.9.2 图书详细信息BookDetail.aspx
代码22-35 InitData方法:\WebLayer\BookDetail.aspx.cs
代码22-37 “返回”按钮单击事件:\WebLayer\BookDetail.aspx.cs
22.9.3 添加图书BookAdd.aspx
代码22-36 Page_Load事件:\WebLayer\BookDetail.aspx.cs
代码22-38 “提交”按钮单击事件:\WebLayer\BookAdd.aspx.cs
22.9.4 用户注册Register.aspx
代码22-39 GridView控件属性:\CartView.aspx.cs
22.9.5 购物篮管理CartView.aspx
代码22-41 DG_RowCommand方法:\CartView.aspx.cs
代码22-40 InitData方法:\CartView.aspx.cs
代码22-42 通用画图类Chart:\BusinessLayer\Chart.cs
22.9.6 图书销量统计BookStatistics.aspx
代码22-43 GetColor方法:\BusinessLayer\Chart.cs
代码22-44 “统计方式”下拉框事件:\WebLayer\ookStatistics.aspx.cs
代码22-46 DrawChartByPublisher:\WebLayer\BookStatistics.aspx.cs
代码22-45 DrawChartByCategory:\WebLayer\BookStatistics.aspx.cs
代码22-47 DrawChartByPrice方法:\WebLayer\BookStatistics.aspx.cs
温故知新
23.1 系统目标
23.1.2 用户行为分析
23.1.1 办公自动化简介
第23章 办公自动化系统
23.1.3 系统目标
23.2.2 修改密码
23.2 系统预览
23.2.1 登录系统
23.2.3 管理工作计划
23.2.4 管理系统用户
23.2.5 管理角色权限
23.2.6 撰写公文
23.2.7 审阅公文
23.2.8 查看系统日志
23.2.9 工程文件一览
23.3.1 总体设计
23.3 系统架构
23.3.2 系统体系结构
23.4.1 设计数据库
23.4 数据库设计
23.4.2 初始化数据
23.5.1 字符串加密类Encrypt
23.5 通用组件层
代码23-1 加密方法:\MyOA.CommonComponent\Encrypt.cs
代码23-2 解密方法:\MyOA.CommonComponent\Encrypt.cs
23.5.2 权限树类Tree
代码23-3 CreateTree方法:\MyOA.CommonComponent\Tree.cs
代码23-4 CreateSubTree方法:\MyOA.CommonComponent\Tree.cs
代码23-5 GetChilds方法:\MyOA.CommonComponent\Tree.cs
代码23-6 IsLeaf方法:\MyOA.CommonComponent\Tree.cs
代码23-8 GetParent方法:\MyOA.CommonComponent\Tree.cs
代码23-7 GetLevel方法:\MyOA.CommonComponent\Tree.cs
23.5.3 日志类MyEventsLog
代码23-9 MyEventsLog:\MyOA.CommonComponent\EventsLog.cs
代码23-10 数据库连接配置:\Web.config
23.6.1 配置数据库连接
23.6.2 数据库类实现
23.6 数据访问层
代码23-11 记录异常日志的Open方法:\DataAccessLayer\Database.cs
23.7.2 构造SQL语句
23.7.1 获取安全数据
23.7 数据访问接口层
代码23-12 构造条件子句:\DataAccessHelper\SqlStringConstructor.cs
23.8.1 用户类User
23.8 业务逻辑层
代码23-13 获取用户数据:\BussinessLogicLayer\User.cs
23.8.2 角色类Role
代码23-15 查询角色数据:\BussinessLogicLayer\Role.cs
代码23-14 获取角色数据:\BussinessLogicLayer\Role.cs
23.8.3 部门类Department
代码23-16 修改角色数据:\BussinessLogicLayer\Role.cs
代码23-18 查询部门数据:\BussinessLogicLayer\Department.cs
代码23-17 获取部门数据:\BussinessLogicLayer\Department.cs
23.8.4 工作计划类Plan
代码23-19 获取工作计划数据:\BussinessLogicLayer\Plan.cs
代码23-20 添加新的工作计划:\BussinessLogicLayer\Plan.cs
代码23-21 修改工作计划数据:\BussinessLogicLayer\Plan.cs
23.8.5 公文类File
代码23-22 获取公文数据:\BussinessLogicLayer\File.cs
代码23-24 修改公文数据:\BussinessLogicLayer\File.cs
代码23-23 添加新的公文:\BussinessLogicLayer\Plan.cs
代码23-25 查询公文数据:\BussinessLogicLayer\File.cs
代码23-26 删除公文数据:\BussinessLogicLayer\File.cs
代码23-27 获取公文状态数据:\BussinessLogicLayer\FileStatus.cs
23.8.6 公文状态FileStatus
代码23-28 查询公文状态数据:\BussinessLogicLayer\FileStatus.cs
23.9 业务逻辑接口层
23.9.2 公文接口类
代码23-29 安全添加公文:\BussinessLogicHelper\FileHelper.cs
23.9.1 数据验证类
23.10 自定义权限菜单数控件
代码23-30 菜单树控件数据加载方法:\UserControls\LeftTree.ascx.cs
23.11 页面显示层
代码23-31 用户合法性验证方法:\UserControls\LeftTree.ascx.cs
代码23-32 “登录”按钮单击事件:\Login.aspx.cs
23.11.1 登录页面Login.aspx
代码23-33 “登录”按钮单击事件:\Login.aspx.cs
23.11.2 浏览用户页面UserList.aspx
代码23-34 登录页面GridView控件定义:\UserList.aspx
代码23-35 登录页面加载事件:\UserList.aspx.cs
代码23-36 InitData方法:\UserList.aspx.cs
代码23-37 Query方法:\UserList.aspx.cs
代码23-38 ResetQueryValue方法:\UserList.aspx.cs
代码23-39 “查询”按钮单击事件:\UserList.aspx.cs
代码23-40 “修改”按钮单击事件:\UserList.aspx.cs
代码23-41 GetSelected方法:\UserList.aspx.cs
代码23-42 “删除”按钮单击事件:\UserList.aspx.cs
23.11.3 添加用户页面UserAdd.aspx
代码23-43 “重置密码”按钮单击事件:\UserList.aspx.cs
代码23-44 InitData方法:UerAdd.aspx.cs
代码23-45 “保存”按钮单击事件:\UerAdd.aspx.cs
23.11.4 修改用户页面UserUpdate.aspx
代码23-46 InitData方法:\UerUpdate.aspx.cs
代码23-47 “保存”按钮单击事件:\UerUpdate.aspx.cs
23.11.5 修改密码页面UserResetPwd.aspx
代码23-48 “保存”按钮单击事件:\UserResetPwd.aspx.cs
23.11.6 角色权限管理页面RoleMange.aspx
代码23-49 GridView定义:\RoleMange.aspx
代码23-50 InitData方法:\RoleMange.aspx.cs
代码23-51 “授权”按钮单击事件:\RoleMange.aspx.cs
23.11.7 工作计划页面PlanList.aspx
代码23-52 页面加载事件:\PlanList.aspx.cs
代码23-53 InitData方法:\PlanList.aspx.cs
代码23-54 InitData方法:\PlanList.aspx.cs
代码23-55 日历控件单击事件:\PlanList.aspx.cs
代码23-56 “添加”按钮单击事件:\PlanList.aspx.cs
23.11.8 公文浏览页面FileList.aspx
代码23-57 “修改”按钮单击事件:\PlanList.aspx.cs
代码23-58 公文浏览页面加载事件:\FileList.aspx.cs
代码23-59 公文浏览页面加载事件:\FileList.aspx.cs
代码23-60 Query方法:\FileList.aspx.cs
代码23-61 “删除”按钮单击事件:\FileList.aspx.cs
23.11.9 公文添加页面FileAdd.aspx
代码23-62 InitData方法:UerAdd.aspx.cs
代码23-63 “部门”下拉框选择改变事件:UerAdd.aspx.cs
代码23-64 “上报”按钮单击事件:FileAdd.aspx.cs
23.11.10 公文审阅页面FileDetail.aspx
代码23-65 InitData方法:FileDetail.aspx.cs
代码23-66 “审阅”按钮单击事件方法:FileDetail.aspx.cs
23.11.11 日志查看页面LogView.aspx
代码23-68 InitData方法:\LogView.aspx.cs
代码23-67 页面加载事件:\LogView.aspx.cs
代码23-69 Query方法:\LogView.aspx.cs
代码23-70 “查询”按钮单击事件:\LogView.aspx.cs
温故知新