Request 操作类
Request
1
using System;
2
using System.Web;
3
using System.Text;
4
using System.Text.RegularExpressions;
5![](/Images/OutliningIndicators/None.gif)
6
namespace ChinaValue.CommonV2008
7
{
8
/// <summary>
9
/// Request操作类
10
/// </summary>
11
public class CVRequest
12
{
13
/// <summary>
14
/// 判断当前页面是否接收到了Post请求
15
/// </summary>
16
/// <returns>是否接收到了Post请求</returns>
17
public static Boolean IsPost()
18
{
19
return HttpContext.Current.Request.HttpMethod.Equals("POST");
20
}
21![](/Images/OutliningIndicators/InBlock.gif)
22
/// <summary>
23
/// 判断当前页面是否接收到了Get请求
24
/// </summary>
25
/// <returns>是否接收到了Get请求</returns>
26
public static Boolean IsGet()
27
{
28
return HttpContext.Current.Request.HttpMethod.Equals("GET");
29
}
30![](/Images/OutliningIndicators/InBlock.gif)
31
/// <summary>
32
/// 返回指定的服务器变量信息
33
/// </summary>
34
/// <param name="strName">服务器变量名</param>
35
/// <returns>服务器变量信息</returns>
36
public static String GetServerString(string strName)
37
{
38
if (HttpContext.Current.Request.ServerVariables[strName] == null)
39
{
40
return String.Empty;
41
}
42![](/Images/OutliningIndicators/InBlock.gif)
43
return HttpContext.Current.Request.ServerVariables[strName].ToString();
44
}
45![](/Images/OutliningIndicators/InBlock.gif)
46
/// <summary>
47
/// 返回上一个页面的地址
48
/// </summary>
49
/// <returns>上一个页面的地址</returns>
50
public static String GetUrlReferrer()
51
{
52
String retVal = null;
53![](/Images/OutliningIndicators/InBlock.gif)
54
try
55
{
56
retVal = HttpContext.Current.Request.UrlReferrer.ToString();
57
}
58
catch { }
59![](/Images/OutliningIndicators/InBlock.gif)
60
if (retVal == null)
61
return String.Empty;
62![](/Images/OutliningIndicators/InBlock.gif)
63
return retVal;
64![](/Images/OutliningIndicators/InBlock.gif)
65
}
66![](/Images/OutliningIndicators/InBlock.gif)
67
/// <summary>
68
/// 得到当前完整主机头
69
/// </summary>
70
/// <returns></returns>
71
public static String GetCurrentFullHost()
72
{
73
HttpRequest request = System.Web.HttpContext.Current.Request;
74![](/Images/OutliningIndicators/InBlock.gif)
75
if (!request.Url.IsDefaultPort)
76
{
77
return string.Format("{0}:{1}", request.Url.Host, request.Url.Port.ToString());
78
}
79![](/Images/OutliningIndicators/InBlock.gif)
80
return request.Url.Host;
81
}
82![](/Images/OutliningIndicators/InBlock.gif)
83
/// <summary>
84
/// 得到主机头
85
/// </summary>
86
/// <returns></returns>
87
public static String GetHost()
88
{
89
return HttpContext.Current.Request.Url.Host;
90
}
91![](/Images/OutliningIndicators/InBlock.gif)
92
/// <summary>
93
/// 获取当前请求的原始 URL(URL 中域信息之后的部分,包括查询字符串(如果存在))
94
/// </summary>
95
/// <returns>原始 URL</returns>
96
public static String GetRawUrl()
97
{
98
return HttpContext.Current.Request.RawUrl;
99
}
100![](/Images/OutliningIndicators/InBlock.gif)
101
/// <summary>
102
/// 判断当前访问是否来自浏览器软件
103
/// </summary>
104
/// <returns>当前访问是否来自浏览器软件</returns>
105
public static Boolean IsBrowserGet()
106
{
107
String[] BrowserName = { "ie", "opera", "netscape", "mozilla" };
108
String curBrowser = HttpContext.Current.Request.Browser.Type.ToLower();
109![](/Images/OutliningIndicators/InBlock.gif)
110
for (Int32 i = 0; i < BrowserName.Length; i++)
111
{
112
if (curBrowser.IndexOf(BrowserName[i]) >= 0)
113
{
114
return true;
115
}
116
}
117![](/Images/OutliningIndicators/InBlock.gif)
118
return false;
119
}
120![](/Images/OutliningIndicators/InBlock.gif)
121
/// <summary>
122
/// 判断是否来自搜索引擎链接
123
/// </summary>
124
/// <returns>是否来自搜索引擎链接</returns>
125
public static Boolean IsSearchEnginesGet()
126
{
127
String[] SearchEngine = { "google", "yahoo", "msn", "baidu", "sogou", "sohu", "sina", "163", "lycos", "tom" };
128
String tmpReferrer = HttpContext.Current.Request.UrlReferrer.ToString().ToLower();
129![](/Images/OutliningIndicators/InBlock.gif)
130
for (int i = 0; i < SearchEngine.Length; i++)
131
{
132
if (tmpReferrer.IndexOf(SearchEngine[i]) >= 0)
133
{
134
return true;
135
}
136
}
137![](/Images/OutliningIndicators/InBlock.gif)
138
return false;
139
}
140![](/Images/OutliningIndicators/InBlock.gif)
141
/// <summary>
142
/// 获得当前完整Url地址
143
/// </summary>
144
/// <returns>当前完整Url地址</returns>
145
public static String GetUrl()
146
{
147
return HttpContext.Current.Request.Url.ToString();
148
}
149![](/Images/OutliningIndicators/InBlock.gif)
150
/// <summary>
151
/// 获得指定Url参数的值(过滤SQL注入字符)
152
/// </summary>
153
/// <param name="strName">Url参数</param>
154
/// <returns>Url参数的值</returns>
155
public static String GetQueryString(String strName)
156
{
157
return GetQueryString(strName, true);
158
}
159![](/Images/OutliningIndicators/InBlock.gif)
160
/// <summary>
161
/// 获得指定Url参数的值
162
/// </summary>
163
/// <param name="strName">Url参数</param>
164
/// <param name="dropInjWords">是否过滤SQL注入字符</param>
165
/// <returns>Url参数的值</returns>
166
public static String GetQueryString(String strName, Boolean dropInjWords)
167
{
168
if (HttpContext.Current.Request.QueryString[strName] == null)
169
{
170
return String.Empty;
171
}
172![](/Images/OutliningIndicators/InBlock.gif)
173
String queryStr = HttpContext.Current.Request.QueryString[strName];
174![](/Images/OutliningIndicators/InBlock.gif)
175
if (dropInjWords)
176
{
177
return DropInjectionWords(queryStr);
178
}
179![](/Images/OutliningIndicators/InBlock.gif)
180
return queryStr;
181
}
182![](/Images/OutliningIndicators/InBlock.gif)
183
/// <summary>
184
/// 过滤SQL注入的字符
185
/// </summary>
186
/// <param name="str"></param>
187
/// <returns></returns>
188
public static String DropInjectionWords(String str)
189
{
190
StringBuilder sb = new StringBuilder(str);
191![](/Images/OutliningIndicators/InBlock.gif)
192
sb = sb.Replace(";", ";");
193
sb = sb.Replace("'", "’");
194![](/Images/OutliningIndicators/InBlock.gif)
195
if (Regex.IsMatch(sb.ToString(), @"\s*select\s+"))
196
{
197
sb = sb.Replace("select", "select");
198
}
199![](/Images/OutliningIndicators/InBlock.gif)
200
if (Regex.IsMatch(sb.ToString(), @"\s*and\s+"))
201
{
202
sb = sb.Replace("and", "and");
203
}
204
//sb = sb.Replace("=", "=");
205![](/Images/OutliningIndicators/InBlock.gif)
206
return sb.ToString();
207
}
208![](/Images/OutliningIndicators/InBlock.gif)
209
/// <summary>
210
/// 获得当前页面的名称
211
/// </summary>
212
/// <returns>当前页面的名称</returns>
213
public static String GetPageName()
214
{
215
string[] urlArr = HttpContext.Current.Request.Url.AbsolutePath.Split('/');
216
return urlArr[urlArr.Length - 1].ToLower();
217
}
218![](/Images/OutliningIndicators/InBlock.gif)
219
/// <summary>
220
/// 返回表单或Url参数的总个数
221
/// </summary>
222
/// <returns></returns>
223
public static Int32 GetParamCount()
224
{
225
return HttpContext.Current.Request.Form.Count + HttpContext.Current.Request.QueryString.Count;
226
}
227![](/Images/OutliningIndicators/InBlock.gif)
228
/// <summary>
229
/// 获得指定表单参数的值(过滤SQL注入字符)
230
/// </summary>
231
/// <param name="strName">表单参数</param>
232
/// <returns>表单参数的值</returns>
233
public static String GetFormString(String strName)
234
{
235
return GetFormString(strName, true);
236
}
237![](/Images/OutliningIndicators/InBlock.gif)
238
/// <summary>
239
/// 获得指定表单参数的值
240
/// </summary>
241
/// <param name="strName">表单参数</param>
242
/// <param name="dropInjWords">是否过滤SQL注入字符</param>
243
/// <returns>表单参数的值</returns>
244
public static String GetFormString(String strName, Boolean dropInjWords)
245
{
246
if (HttpContext.Current.Request.Form[strName] == null)
247
{
248
return String.Empty;
249
}
250![](/Images/OutliningIndicators/InBlock.gif)
251
String fromStr = HttpContext.Current.Request.Form[strName];
252![](/Images/OutliningIndicators/InBlock.gif)
253
if (dropInjWords)
254
{
255
return DropInjectionWords(fromStr);
256
}
257![](/Images/OutliningIndicators/InBlock.gif)
258
return fromStr;
259
}
260![](/Images/OutliningIndicators/InBlock.gif)
261
/// <summary>
262
/// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值(过滤SQL注入字符)
263
/// </summary>
264
/// <param name="strName">参数</param>
265
/// <returns>Url或表单参数的值</returns>
266
public static String GetString(String strName)
267
{
268
if ("".Equals(GetQueryString(strName)))
269
{
270
return GetFormString(strName);
271
}
272
else
273
{
274
return GetQueryString(strName);
275
}
276
}
277![](/Images/OutliningIndicators/InBlock.gif)
278
/// <summary>
279
/// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值
280
/// </summary>
281
/// <param name="strName">参数</param>
282
/// <param name="dropInjWords">是否过滤SQL注入字符</param>
283
/// <returns>Url或表单参数的值</returns>
284
public static String GetString(String strName, Boolean dropInjWords)
285
{
286
if ("".Equals(GetQueryString(strName)))
287
{
288
return GetFormString(strName, dropInjWords);
289
}
290
else
291
{
292
return GetQueryString(strName, dropInjWords);
293
}
294
}
295![](/Images/OutliningIndicators/InBlock.gif)
296
/// <summary>
297
/// 获得指定Url参数的int类型值
298
/// </summary>
299
/// <param name="strName">Url参数</param>
300
/// <param name="defValue">缺省值</param>
301
/// <returns>Url参数的int类型值</returns>
302
public static Int32 GetQueryInt(String strName, Int32 defValue)
303
{
304
return ConvertStr.ToInt32(HttpContext.Current.Request.QueryString[strName], defValue);
305
}
306![](/Images/OutliningIndicators/InBlock.gif)
307
/// <summary>
308
/// 获得指定表单参数的int类型值
309
/// </summary>
310
/// <param name="strName">表单参数</param>
311
/// <param name="defValue">缺省值</param>
312
/// <returns>表单参数的int类型值</returns>
313
public static Int32 GetFormInt(string strName, int defValue)
314
{
315
return ConvertStr.ToInt32(HttpContext.Current.Request.Form[strName], defValue);
316
}
317![](/Images/OutliningIndicators/InBlock.gif)
318
/// <summary>
319
/// 获得指定Url或表单参数的int类型值, 先判断Url参数是否为缺省值, 如为True则返回表单参数的值
320
/// </summary>
321
/// <param name="strName">Url或表单参数</param>
322
/// <param name="defValue">缺省值</param>
323
/// <returns>Url或表单参数的int类型值</returns>
324
public static Int32 GetInt(string strName, int defValue)
325
{
326
if (GetQueryInt(strName, defValue) == defValue)
327
{
328
return GetFormInt(strName, defValue);
329
}
330
else
331
{
332
return GetQueryInt(strName, defValue);
333
}
334
}
335![](/Images/OutliningIndicators/InBlock.gif)
336
/// <summary>
337
/// 获得指定Url参数的float类型值
338
/// </summary>
339
/// <param name="strName">Url参数</param>
340
/// <param name="defValue">缺省值</param>
341
/// <returns>Url参数的int类型值</returns>
342
public static float GetQueryFloat(string strName, float defValue)
343
{
344
return ConvertStr.ToFloat(HttpContext.Current.Request.QueryString[strName], defValue);
345
}
346![](/Images/OutliningIndicators/InBlock.gif)
347![](/Images/OutliningIndicators/InBlock.gif)
348
/// <summary>
349
/// 获得指定表单参数的float类型值
350
/// </summary>
351
/// <param name="strName">表单参数</param>
352
/// <param name="defValue">缺省值</param>
353
/// <returns>表单参数的float类型值</returns>
354
public static float GetFormFloat(string strName, float defValue)
355
{
356
return ConvertStr.ToFloat(HttpContext.Current.Request.Form[strName], defValue);
357
}
358![](/Images/OutliningIndicators/InBlock.gif)
359
/// <summary>
360
/// 获得指定Url或表单参数的float类型值, 先判断Url参数是否为缺省值, 如为True则返回表单参数的值
361
/// </summary>
362
/// <param name="strName">Url或表单参数</param>
363
/// <param name="defValue">缺省值</param>
364
/// <returns>Url或表单参数的int类型值</returns>
365
public static float GetFloat(string strName, float defValue)
366
{
367
if (GetQueryFloat(strName, defValue) == defValue)
368
{
369
return GetFormFloat(strName, defValue);
370
}
371
else
372
{
373
return GetQueryFloat(strName, defValue);
374
}
375
}
376![](/Images/OutliningIndicators/InBlock.gif)
377
/// <summary>
378
/// 获得当前页面客户端的IP
379
/// </summary>
380
/// <returns>当前页面客户端的IP</returns>
381
public static String GetIP()
382
{
383
String result = String.Empty;
384![](/Images/OutliningIndicators/InBlock.gif)
385
result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
386![](/Images/OutliningIndicators/InBlock.gif)
387
if (null == result || result == String.Empty)
388
{
389
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
390
}
391![](/Images/OutliningIndicators/InBlock.gif)
392
if (null == result || result == String.Empty)
393
{
394
result = HttpContext.Current.Request.UserHostAddress;
395
}
396![](/Images/OutliningIndicators/InBlock.gif)
397
if (null == result || result == String.Empty)
398
{
399
return "0.0.0.0";
400
}
401![](/Images/OutliningIndicators/InBlock.gif)
402
return result;
403
}
404
}
405
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
58
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
68
![](/Images/OutliningIndicators/InBlock.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
71
![](/Images/OutliningIndicators/InBlock.gif)
72
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/InBlock.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
77
![](/Images/OutliningIndicators/InBlock.gif)
78
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
79
![](/Images/OutliningIndicators/InBlock.gif)
80
![](/Images/OutliningIndicators/InBlock.gif)
81
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
82
![](/Images/OutliningIndicators/InBlock.gif)
83
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
84
![](/Images/OutliningIndicators/InBlock.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
87
![](/Images/OutliningIndicators/InBlock.gif)
88
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
89
![](/Images/OutliningIndicators/InBlock.gif)
90
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
91
![](/Images/OutliningIndicators/InBlock.gif)
92
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
93
![](/Images/OutliningIndicators/InBlock.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/InBlock.gif)
104
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
105
![](/Images/OutliningIndicators/InBlock.gif)
106
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
107
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
108
![](/Images/OutliningIndicators/InBlock.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/InBlock.gif)
111
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
112
![](/Images/OutliningIndicators/InBlock.gif)
113
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
114
![](/Images/OutliningIndicators/InBlock.gif)
115
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
116
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
117
![](/Images/OutliningIndicators/InBlock.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
120
![](/Images/OutliningIndicators/InBlock.gif)
121
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
122
![](/Images/OutliningIndicators/InBlock.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
127
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
128
![](/Images/OutliningIndicators/InBlock.gif)
129
![](/Images/OutliningIndicators/InBlock.gif)
130
![](/Images/OutliningIndicators/InBlock.gif)
131
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
132
![](/Images/OutliningIndicators/InBlock.gif)
133
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
136
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/InBlock.gif)
139
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
140
![](/Images/OutliningIndicators/InBlock.gif)
141
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
142
![](/Images/OutliningIndicators/InBlock.gif)
143
![](/Images/OutliningIndicators/InBlock.gif)
144
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
145
![](/Images/OutliningIndicators/InBlock.gif)
146
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
147
![](/Images/OutliningIndicators/InBlock.gif)
148
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
149
![](/Images/OutliningIndicators/InBlock.gif)
150
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
151
![](/Images/OutliningIndicators/InBlock.gif)
152
![](/Images/OutliningIndicators/InBlock.gif)
153
![](/Images/OutliningIndicators/InBlock.gif)
154
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
155
![](/Images/OutliningIndicators/InBlock.gif)
156
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
157
![](/Images/OutliningIndicators/InBlock.gif)
158
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
159
![](/Images/OutliningIndicators/InBlock.gif)
160
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
161
![](/Images/OutliningIndicators/InBlock.gif)
162
![](/Images/OutliningIndicators/InBlock.gif)
163
![](/Images/OutliningIndicators/InBlock.gif)
164
![](/Images/OutliningIndicators/InBlock.gif)
165
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
166
![](/Images/OutliningIndicators/InBlock.gif)
167
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
168
![](/Images/OutliningIndicators/InBlock.gif)
169
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
170
![](/Images/OutliningIndicators/InBlock.gif)
171
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
172
![](/Images/OutliningIndicators/InBlock.gif)
173
![](/Images/OutliningIndicators/InBlock.gif)
174
![](/Images/OutliningIndicators/InBlock.gif)
175
![](/Images/OutliningIndicators/InBlock.gif)
176
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
177
![](/Images/OutliningIndicators/InBlock.gif)
178
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
179
![](/Images/OutliningIndicators/InBlock.gif)
180
![](/Images/OutliningIndicators/InBlock.gif)
181
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/InBlock.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
188
![](/Images/OutliningIndicators/InBlock.gif)
189
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
190
![](/Images/OutliningIndicators/InBlock.gif)
191
![](/Images/OutliningIndicators/InBlock.gif)
192
![](/Images/OutliningIndicators/InBlock.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/InBlock.gif)
195
![](/Images/OutliningIndicators/InBlock.gif)
196
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
197
![](/Images/OutliningIndicators/InBlock.gif)
198
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
199
![](/Images/OutliningIndicators/InBlock.gif)
200
![](/Images/OutliningIndicators/InBlock.gif)
201
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
202
![](/Images/OutliningIndicators/InBlock.gif)
203
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
204
![](/Images/OutliningIndicators/InBlock.gif)
205
![](/Images/OutliningIndicators/InBlock.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
208
![](/Images/OutliningIndicators/InBlock.gif)
209
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
210
![](/Images/OutliningIndicators/InBlock.gif)
211
![](/Images/OutliningIndicators/InBlock.gif)
212
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
215
![](/Images/OutliningIndicators/InBlock.gif)
216
![](/Images/OutliningIndicators/InBlock.gif)
217
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
218
![](/Images/OutliningIndicators/InBlock.gif)
219
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
220
![](/Images/OutliningIndicators/InBlock.gif)
221
![](/Images/OutliningIndicators/InBlock.gif)
222
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
223
![](/Images/OutliningIndicators/InBlock.gif)
224
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
225
![](/Images/OutliningIndicators/InBlock.gif)
226
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
227
![](/Images/OutliningIndicators/InBlock.gif)
228
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
229
![](/Images/OutliningIndicators/InBlock.gif)
230
![](/Images/OutliningIndicators/InBlock.gif)
231
![](/Images/OutliningIndicators/InBlock.gif)
232
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
233
![](/Images/OutliningIndicators/InBlock.gif)
234
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
235
![](/Images/OutliningIndicators/InBlock.gif)
236
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
237
![](/Images/OutliningIndicators/InBlock.gif)
238
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
239
![](/Images/OutliningIndicators/InBlock.gif)
240
![](/Images/OutliningIndicators/InBlock.gif)
241
![](/Images/OutliningIndicators/InBlock.gif)
242
![](/Images/OutliningIndicators/InBlock.gif)
243
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
244
![](/Images/OutliningIndicators/InBlock.gif)
245
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
246
![](/Images/OutliningIndicators/InBlock.gif)
247
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
248
![](/Images/OutliningIndicators/InBlock.gif)
249
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
250
![](/Images/OutliningIndicators/InBlock.gif)
251
![](/Images/OutliningIndicators/InBlock.gif)
252
![](/Images/OutliningIndicators/InBlock.gif)
253
![](/Images/OutliningIndicators/InBlock.gif)
254
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
255
![](/Images/OutliningIndicators/InBlock.gif)
256
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
257
![](/Images/OutliningIndicators/InBlock.gif)
258
![](/Images/OutliningIndicators/InBlock.gif)
259
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
260
![](/Images/OutliningIndicators/InBlock.gif)
261
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
262
![](/Images/OutliningIndicators/InBlock.gif)
263
![](/Images/OutliningIndicators/InBlock.gif)
264
![](/Images/OutliningIndicators/InBlock.gif)
265
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
266
![](/Images/OutliningIndicators/InBlock.gif)
267
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
268
![](/Images/OutliningIndicators/InBlock.gif)
269
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
270
![](/Images/OutliningIndicators/InBlock.gif)
271
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
272
![](/Images/OutliningIndicators/InBlock.gif)
273
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
274
![](/Images/OutliningIndicators/InBlock.gif)
275
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
276
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
277
![](/Images/OutliningIndicators/InBlock.gif)
278
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
279
![](/Images/OutliningIndicators/InBlock.gif)
280
![](/Images/OutliningIndicators/InBlock.gif)
281
![](/Images/OutliningIndicators/InBlock.gif)
282
![](/Images/OutliningIndicators/InBlock.gif)
283
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
284
![](/Images/OutliningIndicators/InBlock.gif)
285
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
286
![](/Images/OutliningIndicators/InBlock.gif)
287
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
288
![](/Images/OutliningIndicators/InBlock.gif)
289
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
290
![](/Images/OutliningIndicators/InBlock.gif)
291
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
292
![](/Images/OutliningIndicators/InBlock.gif)
293
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
294
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
295
![](/Images/OutliningIndicators/InBlock.gif)
296
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
297
![](/Images/OutliningIndicators/InBlock.gif)
298
![](/Images/OutliningIndicators/InBlock.gif)
299
![](/Images/OutliningIndicators/InBlock.gif)
300
![](/Images/OutliningIndicators/InBlock.gif)
301
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
302
![](/Images/OutliningIndicators/InBlock.gif)
303
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
304
![](/Images/OutliningIndicators/InBlock.gif)
305
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
306
![](/Images/OutliningIndicators/InBlock.gif)
307
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
308
![](/Images/OutliningIndicators/InBlock.gif)
309
![](/Images/OutliningIndicators/InBlock.gif)
310
![](/Images/OutliningIndicators/InBlock.gif)
311
![](/Images/OutliningIndicators/InBlock.gif)
312
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
313
![](/Images/OutliningIndicators/InBlock.gif)
314
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
315
![](/Images/OutliningIndicators/InBlock.gif)
316
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
317
![](/Images/OutliningIndicators/InBlock.gif)
318
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
319
![](/Images/OutliningIndicators/InBlock.gif)
320
![](/Images/OutliningIndicators/InBlock.gif)
321
![](/Images/OutliningIndicators/InBlock.gif)
322
![](/Images/OutliningIndicators/InBlock.gif)
323
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
324
![](/Images/OutliningIndicators/InBlock.gif)
325
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
326
![](/Images/OutliningIndicators/InBlock.gif)
327
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
328
![](/Images/OutliningIndicators/InBlock.gif)
329
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
330
![](/Images/OutliningIndicators/InBlock.gif)
331
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
332
![](/Images/OutliningIndicators/InBlock.gif)
333
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
334
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
335
![](/Images/OutliningIndicators/InBlock.gif)
336
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
337
![](/Images/OutliningIndicators/InBlock.gif)
338
![](/Images/OutliningIndicators/InBlock.gif)
339
![](/Images/OutliningIndicators/InBlock.gif)
340
![](/Images/OutliningIndicators/InBlock.gif)
341
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
342
![](/Images/OutliningIndicators/InBlock.gif)
343
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
344
![](/Images/OutliningIndicators/InBlock.gif)
345
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
346
![](/Images/OutliningIndicators/InBlock.gif)
347
![](/Images/OutliningIndicators/InBlock.gif)
348
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
349
![](/Images/OutliningIndicators/InBlock.gif)
350
![](/Images/OutliningIndicators/InBlock.gif)
351
![](/Images/OutliningIndicators/InBlock.gif)
352
![](/Images/OutliningIndicators/InBlock.gif)
353
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
354
![](/Images/OutliningIndicators/InBlock.gif)
355
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
356
![](/Images/OutliningIndicators/InBlock.gif)
357
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
358
![](/Images/OutliningIndicators/InBlock.gif)
359
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
360
![](/Images/OutliningIndicators/InBlock.gif)
361
![](/Images/OutliningIndicators/InBlock.gif)
362
![](/Images/OutliningIndicators/InBlock.gif)
363
![](/Images/OutliningIndicators/InBlock.gif)
364
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
365
![](/Images/OutliningIndicators/InBlock.gif)
366
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
367
![](/Images/OutliningIndicators/InBlock.gif)
368
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
369
![](/Images/OutliningIndicators/InBlock.gif)
370
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
371
![](/Images/OutliningIndicators/InBlock.gif)
372
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
373
![](/Images/OutliningIndicators/InBlock.gif)
374
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
375
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
376
![](/Images/OutliningIndicators/InBlock.gif)
377
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
378
![](/Images/OutliningIndicators/InBlock.gif)
379
![](/Images/OutliningIndicators/InBlock.gif)
380
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
381
![](/Images/OutliningIndicators/InBlock.gif)
382
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
383
![](/Images/OutliningIndicators/InBlock.gif)
384
![](/Images/OutliningIndicators/InBlock.gif)
385
![](/Images/OutliningIndicators/InBlock.gif)
386
![](/Images/OutliningIndicators/InBlock.gif)
387
![](/Images/OutliningIndicators/InBlock.gif)
388
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
389
![](/Images/OutliningIndicators/InBlock.gif)
390
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
391
![](/Images/OutliningIndicators/InBlock.gif)
392
![](/Images/OutliningIndicators/InBlock.gif)
393
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
394
![](/Images/OutliningIndicators/InBlock.gif)
395
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
396
![](/Images/OutliningIndicators/InBlock.gif)
397
![](/Images/OutliningIndicators/InBlock.gif)
398
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
399
![](/Images/OutliningIndicators/InBlock.gif)
400
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
401
![](/Images/OutliningIndicators/InBlock.gif)
402
![](/Images/OutliningIndicators/InBlock.gif)
403
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
404
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
405
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
Ajax.jQuery.Java.