简单评论系统开发过程(一)
本人第一次写日志,见笑了,写得不好的地方请多指教~~开始步入正题~~(不然什么东东都飞过来了咧~~)
1、开发手记
这几天休息,没事做,就想上网看看新闻,发现每家新闻后面都有发表评论,有大有小,心里自己写个玩,于是乎就参照“网易”的评论系统写了个简单的评论。
2、需求分析
发表评论,支持和反对,支持对各种标题的评论,表中有个临时ID,可存入相关标题的ID值,从而关联获取值。
3、数据库设计
这里比较简单,就一张表,如下:
数据库名:comment
comment
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
允许空 |
默认值 |
字段说明 |
1 |
comm_id |
int |
4 |
0 |
√ |
√ |
|
|
评论ID |
2 |
comm_tid |
int |
4 |
0 |
|
|
√ |
|
评论标题ID |
3 |
comm_name |
nvarchar |
40 |
0 |
|
|
√ |
|
评论人 |
4 |
comm_time |
datetime |
8 |
3 |
|
|
√ |
|
发布时间 |
5 |
comm_ip |
nvarchar |
40 |
0 |
|
|
√ |
|
评论人IP |
6 |
comm_agree |
int |
4 |
0 |
|
|
√ |
(0) |
赞同 |
7 |
comm_against |
int |
4 |
0 |
|
|
√ |
(0) |
反对 |
8 |
comm_audit |
int |
4 |
0 |
|
|
√ |
(0) |
审核 |
9 |
comm_hot |
int |
4 |
0 |
|
|
√ |
(0) |
精华 |
10 |
comm_hits |
int |
4 |
0 |
|
|
√ |
(0) |
阅读次数 |
11 |
comm_content |
ntext |
16 |
0 |
|
|
√ |
|
评论内容 |
4、程序设计
程序三层开发(BS架构),每一层代码马上贴出。
⑴数据层
使用了微软的数据类(SqlHelper.cs),这个类的代码我就不贴出了。
数据外理类
SqlDal.cs
1
using System;
2
using System.Data;
3
using System.Collections.Generic;
4
using System.Data.SqlClient;
5
using System.Text;
6
using Model;
7
using System.Collections;
8
namespace DAL
9
{
10
public class SqlDal
11
{
12
/// <summary>
13
/// 添加一条新记录
14
/// </summary>
15
/// <param name="comm"></param>
16
public void Insert(comment comm)
17
{
18
try
19
{
20
StringBuilder sql = new StringBuilder();
21
sql.Append(" insert into comment(");
22
sql.Append("comm_tid, comm_name, comm_time, comm_ip, comm_agree, comm_against, comm_audit, comm_hot, comm_hits, comm_content");
23
sql.Append(")");
24
sql.Append(" values(");
25
sql.Append("" + comm.Comm_tid + ",");
26
sql.Append("'" + comm.Comm_name + "',");
27
sql.Append("'" + comm.Comm_time + "',");
28
sql.Append("'" + comm.Comm_ip + "',");
29
sql.Append("" + comm.Comm_agree + ",");
30
sql.Append("" + comm.Comm_against + ",");
31
sql.Append("" + comm.Comm_audit + ",");
32
sql.Append("" + comm.Comm_hot + ",");
33
sql.Append("" + comm.Comm_hits + ",");
34
sql.Append("'" + comm.Comm_content + "'");
35
sql.Append(") ");
36
SqlHelper.ExecuteNonQuery(sql.ToString());
37
}
38
catch (Exception ex)
39
{
40
throw new Exception(ex.Message, ex);
41
}
42
}
43
/// <summary>
44
/// 更新一条现有记录
45
/// </summary>
46
/// <param name="comm"></param>
47
public void Update(comment comm)
48
{
49
try
50
{
51
StringBuilder sql = new StringBuilder();
52
sql.Append(" update comment set ");
53
sql.Append("comm_tid=" + comm.Comm_tid + ",");
54
sql.Append("comm_name='" + comm.Comm_name + "',");
55
sql.Append("comm_time='" + comm.Comm_time + "',");
56
sql.Append("comm_ip='" + comm.Comm_ip + "',");
57
sql.Append("comm_agree=" + comm.Comm_agree + ",");
58
sql.Append("comm_against=" + comm.Comm_against + ",");
59
sql.Append("comm_audit=" + comm.Comm_audit + ",");
60
sql.Append("comm_hot=" + comm.Comm_hot + ",");
61
sql.Append("comm_hits=" + comm.Comm_hits + ",");
62
sql.Append("comm_content='" + comm.Comm_content + "'");
63
sql.Append(" where comm_id=" + comm.Comm_id);
64
SqlHelper.ExecuteNonQuery(sql.ToString());
65
}
66
catch (Exception ex)
67
{
68
throw new Exception(ex.Message, ex);
69
}
70
}
71
/// <summary>
72
/// 删除一条现有记录
73
/// </summary>
74
/// <param name="comm_id"></param>
75
public void Delete(int comm_id)
76
{
77
StringBuilder sql = new StringBuilder();
78
sql.Append(" delete from comment where comm_id=" + comm_id);
79
SqlHelper.ExecuteNonQuery(sql.ToString());
80
}
81
/// <summary>
82
/// 处理一条信息(如审核,推荐,热门,回收,还原)
83
/// </summary>
84
/// <param name="comm_id"></param>
85
public void Deal(string str,int val,int comm_id)
86
{
87
StringBuilder sql = new StringBuilder();
88
sql.Append(" update comment set " + str + "=" + val + " where comm_id=" + comm_id);
89
SqlHelper.ExecuteNonQuery(sql.ToString());
90
}
91
/// <summary>
92
/// 更新叠加
93
/// </summary>
94
/// <param name="str"></param>
95
/// <param name="comm_id"></param>
96
/// <returns></returns>
97
public int Hits(string str,int comm_id)
98
{
99
StringBuilder sql = new StringBuilder();
100
sql.Append(" update comment set " + str + "=" + str + "+1 where comm_id=" + comm_id);
101
return (int)SqlHelper.ExecuteNonQuery(sql.ToString());
102
}
103
/// <summary>
104
/// 获取字段值
105
/// </summary>
106
/// <param name="str"></param>
107
/// <param name="comm_id"></param>
108
/// <returns></returns>
109
public string FieldName(string str,int comm_id)
110
{
111
string tempstr = string.Empty;
112
StringBuilder sql = new StringBuilder();
113
sql.Append("select " + str + " from comment where comm_id=" + comm_id);
114
SqlDataReader dr = SqlHelper.ExecuteReader(sql.ToString());
115
if (dr.Read())
116
{
117
tempstr = dr[0].ToString();
118
}
119
dr.Close();
120
return tempstr;
121
}
122
/// <summary>
123
/// 查询一条记录
124
/// </summary>
125
/// <param name="comm_id"></param>
126
/// <returns></returns>
127
public comment Query(int comm_id,string conditions)
128
{
129
try
130
{
131
StringBuilder sql = new StringBuilder();
132
sql.Append(" select comm_name, comm_time, comm_ip, comm_agree, comm_against, comm_audit, comm_hot, comm_hits, comm_content, comm_tid from comment ");
133
sql.Append("where 1=1 " + conditions);
134
sql.Append(" and comm_id=" + comm_id);
135
DataTable dt = SqlHelper.Query(sql.ToString()).Tables[0].Copy();
136
comment comm = new comment();
137
comm.Comm_id = comm_id;
138
if (dt.Rows.Count > 0)
139
{
140
comm.Comm_name = dt.Rows[0]["comm_name"].ToString().Trim();
141
comm.Comm_tid = int.Parse(dt.Rows[0]["comm_tid"].ToString().Trim());
142
comm.Comm_time = DateTime.Parse(dt.Rows[0]["comm_time"].ToString());
143
comm.Comm_ip = dt.Rows[0]["comm_ip"].ToString().Trim();
144
comm.Comm_agree = int.Parse(dt.Rows[0]["comm_agree"].ToString());
145
comm.Comm_against = int.Parse(dt.Rows[0]["comm_against"].ToString());
146
comm.Comm_hot = int.Parse(dt.Rows[0]["comm_hot"].ToString());
147
comm.Comm_hits = int.Parse(dt.Rows[0]["comm_hits"].ToString());
148
comm.Comm_audit = int.Parse(dt.Rows[0]["comm_audit"].ToString());
149
comm.Comm_content = dt.Rows[0]["comm_content"].ToString().Trim();
150
return comm;
151
}
152
else
153
{
154
return null;
155
}
156
}
157
catch (Exception ex)
158
{
159
throw new Exception(ex.Message, ex);
160
}
161
}
162
/// <summary>
163
/// 记录总数提取
164
/// </summary>
165
/// <returns></returns>
166
public int Total(string tablename,string str,string conditions)
167
{
168
StringBuilder sql=new StringBuilder();
169
sql.Append("select count("+str+") from " + tablename + "");
170
sql.Append(" where 1=1 " + conditions);
171
object int_total = (object)SqlHelper.ExecuteScalar(sql.ToString());
172
return (int)int_total;
173
}
174
/// <summary>
175
/// 数据分页列表提取
176
/// </summary>
177
/// <param name="startindex"></param>
178
/// <param name="pagesize"></param>
179
/// <returns></returns>
180
public DataSet CommList(string tablename,int startindex,int pagesize,string conditions)
181
{
182
StringBuilder sql = new StringBuilder();
183
sql.Append("select * from "+tablename+" ");
184
sql.Append(" where 1=1 " + conditions);
185
sql.Append(" order by comm_time desc");
186
return SqlHelper.QueryPage(SqlHelper.connstr,CommandType.Text,sql.ToString(),startindex,pagesize,null);
187
}
188
/// <summary>
189
/// 是否存在记录
190
/// </summary>
191
/// <param name="tableName"></param>
192
/// <param name="conditions"></param>
193
/// <returns></returns>
194
public bool Exists(string tablename, string conditions)
195
{
196
StringBuilder sql = new StringBuilder();
197
try
198
{
199
sql.Append(" select count(1) from " + tablename + " ");
200
sql.Append(" where 1=1 " + conditions);
201
object obj = SqlHelper.ExecuteScalar(sql.ToString());
202
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)) || (int.Parse(obj.ToString()) == 0))
203
{
204
return false;
205
}
206
else
207
{
208
return true;
209
}
210
}
211
catch (Exception ex)
212
{
213
throw new Exception(ex.Message, ex);
214
}
215
}
216
}
217
}
218![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
87
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
90
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
91
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
92
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
94
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
95
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
96
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
97
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
98
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
99
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
100
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
101
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
102
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
103
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
104
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
105
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
106
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
107
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
108
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
109
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
110
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
111
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
112
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
113
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
114
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
115
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
116
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
117
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
118
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
119
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
120
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
121
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
122
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
123
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
124
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
125
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
126
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
127
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
128
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
129
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
130
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
131
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
132
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
133
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
134
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
135
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
136
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
137
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
138
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
139
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
140
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
141
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
142
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
143
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
144
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
145
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
146
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
147
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
148
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
149
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
150
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
151
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
152
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
153
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
154
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
155
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
156
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
157
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
158
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
159
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
160
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
161
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
162
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
163
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
164
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
165
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
166
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
167
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
168
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
169
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
170
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
171
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
172
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
173
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
174
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
175
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
176
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
177
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
178
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
179
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
180
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
181
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
182
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
183
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
184
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
185
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
186
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
187
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
188
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
189
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
190
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
191
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
192
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
193
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
194
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
195
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
196
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
197
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
198
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
199
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
200
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
201
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
202
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
203
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
204
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
205
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
206
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
207
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
208
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
209
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
210
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
211
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
212
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
213
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
214
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
215
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
216
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
217
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
218
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
待续……