1
using System;
2
using System.Data;
3
using System.Web;
4
using System.Drawing;
5
using System.Web.SessionState;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Web.UI.HtmlControls;
9
using System.Text.RegularExpressions ;
10
using AjaxControlToolkit;
11
12
namespace projmanager
13
...{
14
/**//// <summary>
15
/// CommHandler类包含本解决方案通用的方法
16
/// </summary>
17
public class CommHandler
18
...{
19
20
字符串转换方法#region 字符串转换方法
21
22
/**//// <summary>
23
/// 从前台获取的带空格字符串的处理
24
/// </summary>
25
/// <param name="s">待处理字符串</param>
26
/// <returns>处理后的字符串</returns>
27
public static string FormatNullString(string s)
28
...{
29
s = s.Replace(" ", " ");
30
return s.Trim();
31
}
32
33
/**//// <summary>
34
/// 将字符串转换为整数
35
/// </summary>
36
/// <param name="str">待转换的字符串</param>
37
/// <returns>转换后的整数</returns>
38
public static int StringToInt(string str)
39
...{
40
int ret = 0;
41
try
42
...{
43
ret = int.Parse(str);
44
}
45
catch
46
...{
47
}
48
49
return ret;
50
}
51
52
/**//// <summary>
53
/// 将字符串转换为浮点数
54
/// </summary>
55
/// <param name="str">待转换的字符串</param>
56
/// <returns>转换后的浮点数</returns>
57
public static double StringToDouble(string str)
58
...{
59
double ret = 0.0;
60
61
try
62
...{
63
ret = double.Parse(str);
64
}
65
catch
66
...{ }
67
68
return ret;
69
}
70
71
/**//// <summary>
72
/// 将字符串转换为日期格式
73
/// </summary>
74
/// <param name="val">待转换的字符串</param>
75
/// <returns>转换后的日期</returns>
76
public static DateTime StringToDateTime(string val)
77
...{
78
//若字符串为空,返回最小日期
79
if (val == string.Empty || val == null)
80
return System.DateTime.MinValue;
81
82
try
83
...{
84
System.DateTime dt = System.DateTime.Parse(val);
85
return dt;
86
}
87
catch
88
...{
89
return System.DateTime.MinValue;
90
}
91
}
92
93
public static string Today()
94
...{
95
return DateTimeToString(System.DateTime.Today);
96
}
97
98
public static string DateTimeToString(DateTime d)
99
...{
100
string ret = "";
101
102
try
103
...{
104
ret = d.ToString("yyyy-MM-dd");
105
}
106
catch
107
...{ }
108
109
if (ret == "0001-01-01")
110
...{
111
ret = "";
112
}
113
114
return ret;
115
}
116
117
118
#endregion
119
120
121
122
123
124
/**//// <summary>
125
/// 用VALUEID初始化下拉框
126
/// </summary>
127
/// <param name="ddl">下拉框ID</param>
128
/// <param name="valuetype">VALUETYPE</param>
129
/// <param name="emptyLine">是否包含空行</param>
130
public static void DDL_Init(DropDownList ddl, string valuetype, bool emptyLine)
131
...{
132
//从HR_Value表中读取对应VALUETYPE的记录的存储过程
133
string spName = "HR_Value_InitDDL";
134
//存储过程参数
135
object[] para = new object[] ...{ valuetype };
136
137
//调用SQL文初始化下拉框方法
138
DDL_Init(ddl, spName, para, emptyLine);
139
}
140
141
/**//// <summary>
142
/// 从存储过程加载下拉框
143
/// </summary>
144
/// <param name="ddl"></param>
145
/// <param name="spName"></param>
146
/// <param name="para"></param>
147
/// <param name="emptyLine"></param>
148
public static void DDL_Init(DropDownList ddl, string spName, object[] para, bool emptyLine)
149
...{
150
//通过存储过程查询数据
151
DataTable dt = DataAccess.ExecuteDataTable(spName, emptyLine, para);
152
153
//查询结果为空
154
if (dt == null)
155
...{
156
return;
157
}
158
159
//在首行添加空行
160
if (emptyLine)
161
...{
162
DataRow dr = dt.NewRow();
163
dr["VALUETEXT"] = "";
164
dr["VALUEID"] = "";
165
dt.Rows.InsertAt(dr, 0);
166
}
167
168
//为下拉框绑定数据源
169
ddl.DataSource = dt;
170
ddl.DataTextField = "VALUETEXT";
171
ddl.DataValueField = "VALUEID";
172
ddl.DataBind();
173
}
174
175
/**//// <summary>
176
/// 显示下拉框指定的行
177
/// </summary>
178
/// <param name="ddl">下拉框ID</param>
179
/// <param name="val">要显示的值</param>
180
public static void DDL_ShowItem(DropDownList ddl, string val)
181
...{
182
//若下拉框当前有选中行,清除
183
if (ddl.SelectedItem != null)
184
...{
185
ddl.SelectedItem.Selected = false;
186
}
187
188
for (int i = 0; i < ddl.Items.Count; i++)
189
...{
190
ListItem li = ddl.Items[i];
191
//找到下拉选项中,value等于给定值的
192
if (li.Value == val)
193
...{
194
//将该选项置为选中状态
195
li.Selected = true;
196
break;
197
}
198
}
199
}
200
201
/**//// <summary>
202
/// 通过下拉框将静态数据的Value翻译成Text
203
/// </summary>
204
/// <param name="ddl">下拉框</param>
205
/// <param name="val">待翻译的Value</param>
206
/// <returns>返回Text</returns>
207
public static string DDL_ValueToText(DropDownList ddl, string val)
208
...{
209
string ret = "";
210
211
for (int i = 0; i < ddl.Items.Count; i++)
212
...{
213
ListItem li = ddl.Items[i];
214
//从下拉框所有选项中找到Value等于给定值的
215
if (li.Value == val)
216
...{
217
//获取符合条件的选项的Text
218
ret = li.Text;
219
break;
220
}
221
}
222
223
return ret;
224
}
225
226
227
228
执行前台脚本相关#region 执行前台脚本相关
229
230
/**//// <summary>
231
/// 整个页面重定向到指定的URL
232
/// </summary>
233
/// <param name="pg">页面</param>
234
/// <param name="url">URL</param>
235
public static void ReDirURL(System.Web.UI.Page pg, string url)
236
...{
237
string cmd = "<script for=document event=onreadystatechange language=javascript>\n"
238
+ "top.main.window.location='"
239
+ url
240
+ "'</script> ";
241
pg.Response.Write(cmd);
242
}
243
244
/**//// <summary>
245
/// 页面重定向到登录页
246
/// </summary>
247
/// <param name="pg">页面</param>
248
public static void ReDirURL(System.Web.UI.Page pg)
249
...{
250
string url = "Login.aspx";
251
ReDirURL(pg, url);
252
}
253
254
/**//// <summary>
255
/// 为按钮添加确认信息
256
/// </summary>
257
/// <param name="btn">按钮</param>
258
/// <param name="msg">确认信息内容</param>
259
public static void AddConfirm(Button btn, string msg)
260
...{
261
//为按钮添加确认信息
262
btn.Attributes.Add("onclick", "return confirm('" + msg + "');");
263
}
264
265
public static string ReplaceString(string msg)
266
...{
267
//由于前后台处理特殊字符的方式不一致,需要转换
268
269
//处理\\
270
string p = @"(\\)";
271
Regex r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
272
msg = r.Replace(msg, "\\\\");
273
274
//处理\n
275
p = @"(\n)";
276
r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
277
msg = r.Replace(msg, "\\n");
278
279
//处理\t
280
p = @"(\t)";
281
r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
282
msg = r.Replace(msg, "\\t");
283
284
//处理\r
285
p = @"(\r)";
286
r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline |