【C#公共帮助类】 WebHelper帮助类

如果你是一个新手,如果你刚接触MVC,如果你跟着置顶的那个项目,我们肯定会用到这里面的几个帮助类

它们都在Common类库下,大家一定要记住要点:取其精华去其糟粕,切勿拿来主义~

ApplicationCache.cs

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Web;
 6 
 7 namespace Common
 8 {
 9     public interface ICache
10     {
11         /// <summary>
12         /// 获取全局应用缓存
13         /// </summary>
14         /// <param name="key"></param>
15         /// <returns></returns>
16         object GetApplicationCache(string key);
17         /// <summary>
18         /// 设置全局应用缓存
19         /// </summary>
20         /// <param name="key"></param>
21         /// <param name="obj"></param>
22         void SetApplicationCache(string key, object obj);
23         /// <summary>
24         /// 删除全局应用缓存
25         /// </summary>
26         /// <param name="key"></param>
27         void RemoveApplicationCache(string key);
28     }
29     /// <summary>
30     /// 全局应用缓存
31     /// </summary>
32     public  class ApplicationCache:ICache
33     {
34         #region ICache 成员
35 
36         public object GetApplicationCache(string key)
37         {
38             return HttpContext.Current.Application[key];
39         }
40 
41         public void SetApplicationCache(string key, object obj)
42         {
43             HttpContext.Current.Application.Add(key, obj);
44         }
45 
46         public void RemoveApplicationCache(string key)
47         {
48             HttpContext.Current.Application.Remove(key);
49         }
50         #endregion
51     }
52 }
View Code

BindDataControl.cs

 1 using System.Web.UI.WebControls;
 2 using System.Web.UI;
 3 using System.Data;
 4 using System.Data.SqlClient;
 5 
 6 namespace Common
 7 {
 8     /// <summary>
 9     /// 数据展示控件 绑定数据类
10     /// </summary>
11     public class BindDataControl
12     {
13         #region 绑定服务器数据控件 简单绑定DataList
14         /// <summary>
15         /// 简单绑定DataList
16         /// </summary>
17         /// <param name="ctrl">控件ID</param>
18         /// <param name="mydv">数据视图</param>
19         public static void BindDataList(Control ctrl, DataView mydv)
20         {
21             ((DataList)ctrl).DataSourceID = null;
22             ((DataList)ctrl).DataSource = mydv;
23             ((DataList)ctrl).DataBind();
24         }
25         #endregion
26 
27         #region 绑定服务器数据控件 SqlDataReader简单绑定DataList
28         /// <summary>
29         /// SqlDataReader简单绑定DataList
30         /// </summary>
31         /// <param name="ctrl">控件ID</param>
32         /// <param name="mydv">数据视图</param>
33         public static void BindDataReaderList(Control ctrl, SqlDataReader mydv)
34         {
35             ((DataList)ctrl).DataSourceID = null;
36             ((DataList)ctrl).DataSource = mydv;
37             ((DataList)ctrl).DataBind();
38         }
39         #endregion
40 
41         #region 绑定服务器数据控件 简单绑定GridView
42         /// <summary>
43         /// 简单绑定GridView
44         /// </summary>
45         /// <param name="ctrl">控件ID</param>
46         /// <param name="mydv">数据视图</param>
47         public static void BindGridView(Control ctrl, DataView mydv)
48         {
49             ((GridView)ctrl).DataSourceID = null;
50             ((GridView)ctrl).DataSource = mydv;
51             ((GridView)ctrl).DataBind();
52         }
53         #endregion
54 
55         /// <summary>
56         /// 绑定服务器控件 简单绑定Repeater
57         /// </summary>
58         /// <param name="ctrl">控件ID</param>
59         /// <param name="mydv">数据视图</param>
60         public static void BindRepeater(Control ctrl, DataView mydv)
61         {
62             ((Repeater)ctrl).DataSourceID = null;
63             ((Repeater)ctrl).DataSource = mydv;
64             ((Repeater)ctrl).DataBind();
65         }
66     }
67 }
View Code

CacheHelper.cs

 1 using System;
 2 using System.Web;
 3 using System.Collections;
 4 
 5 namespace Common
 6 {
 7     /// <summary>
 8     /// 缓存辅助类
 9     /// </summary>
10     public class CacheHelper
11     {
12         /// <summary>
13         /// 获取数据缓存
14         /// </summary>
15         /// <param name="CacheKey"></param>
16         public static object GetCache(string CacheKey)
17         {
18             System.Web.Caching.Cache objCache = HttpRuntime.Cache;
19             return objCache[CacheKey];
20         }
21 
22         /// <summary>
23         /// 设置数据缓存
24         /// </summary>
25         public static void SetCache(string CacheKey, object objObject)
26         {
27             System.Web.Caching.Cache objCache = HttpRuntime.Cache;
28             objCache.Insert(CacheKey, objObject);
29         }
30 
31         /// <summary>
32         /// 设置数据缓存
33         /// </summary>
34         public static void SetCache(string CacheKey, object objObject, TimeSpan Timeout)
35         {
36             System.Web.Caching.Cache objCache = HttpRuntime.Cache;
37             objCache.Insert(CacheKey, objObject, null, DateTime.MaxValue, Timeout, System.Web.Caching.CacheItemPriority.NotRemovable, null);
38         }
39 
40         /// <summary>
41         /// 设置数据缓存
42         /// </summary>
43         public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration, TimeSpan slidingExpiration)
44         {
45             System.Web.Caching.Cache objCache = HttpRuntime.Cache;
46             objCache.Insert(CacheKey, objObject, null, absoluteExpiration, slidingExpiration);
47         }
48 
49         /// <summary>
50         /// 移除指定数据缓存
51         /// </summary>
52         public static void RemoveAllCache(string CacheKey)
53         {
54             System.Web.Caching.Cache _cache = HttpRuntime.Cache;
55             _cache.Remove(CacheKey);
56         }
57 
58         /// <summary>
59         /// 移除全部缓存
60         /// </summary>
61         public static void RemoveAllCache()
62         {
63             System.Web.Caching.Cache _cache = HttpRuntime.Cache;
64             IDictionaryEnumerator CacheEnum = _cache.GetEnumerator();
65             while (CacheEnum.MoveNext())
66             {
67                 _cache.Remove(CacheEnum.Key.ToString());
68             }
69         }
70     }
71 }
View Code

CookieHelper.cs

 1 using System;
 2 using System.Web;
 3 
 4 namespace Common
 5 {
 6     /// <summary>
 7     /// Cookie辅助类
 8     /// </summary>
 9     public class CookieHelper
10     {
11         /// <summary>
12         /// 清除指定Cookie
13         /// </summary>
14         /// <param name="cookiename">cookiename</param>
15         public static void ClearCookie(string cookiename)
16         {
17             HttpCookie cookie = HttpContext.Current.Request.Cookies[cookiename];
18             if (cookie != null)
19             {
20                 TimeSpan ts = new TimeSpan(-1, 0, 0, 0);
21                 cookie.Expires = DateTime.Now.Add(ts);
22                 HttpContext.Current.Response.AppendCookie(cookie);
23                 HttpContext.Current.Request.Cookies.Remove(cookiename);
24             }
25         }
26         /// <summary>
27         /// 获取指定Cookie值
28         /// </summary>
29         /// <param name="cookiename">cookiename</param>
30         /// <returns></returns>
31         public static string GetCookieValue(string cookiename)
32         {
33             HttpCookie cookie = HttpContext.Current.Request.Cookies[cookiename];
34             string str = string.Empty;
35             if (cookie != null)
36             {
37                 str = cookie.Value;
38             }
39             return str;
40         }
41         /// <summary>
42         /// 获取cookie
43         /// </summary>
44         /// <param name="cookiename"></param>
45         /// <returns></returns>
46         public static HttpCookie GetCookie(string cookiename)
47         {
48             return HttpContext.Current.Request.Cookies[cookiename];
49         }
50         /// <summary>
51         /// 添加一个Cookie,默认浏览器关闭过期
52         /// </summary>
53         public static void SetCookie(string cookiename, System.Collections.Specialized.NameValueCollection cookievalue, int? days)
54         {
55             var cookie = HttpContext.Current.Request.Cookies[cookiename];
56             if (cookie == null)
57             {
58                 cookie = new HttpCookie(cookiename);
59             }
60             ClearCookie(cookiename);
61             cookie.Values.Add(cookievalue);
62             var siteurl = System.Configuration.ConfigurationManager.AppSettings["siteurl"];
63             if (!string.IsNullOrEmpty(siteurl))
64             {
65                 cookie.Domain = siteurl.Replace("www.", "");
66             }
67             if (days != null && days > 0) { cookie.Expires = DateTime.Now.AddDays(Convert.ToInt32(days)); }
68             HttpContext.Current.Response.AppendCookie(cookie);
69 
70         }
71         /// <summary>
72         /// 添加一个Cookie
73         /// </summary>
74         /// <param name="cookiename">cookie名</param>
75         /// <param name="cookievalue">cookie值</param>
76         /// <param name="expires">过期时间 null为浏览器过期</param>
77         public static void SetCookie(string cookiename, string cookievalue, int? expires)
78         {
79             var cookie = HttpContext.Current.Request.Cookies[cookiename];
80             if (cookie == null)
81             {
82                 cookie = new HttpCookie(cookiename);
83             }
84             ClearCookie(cookiename);
85             cookie = new HttpCookie(cookiename);
86             cookie.Value = cookievalue;
87             var siteurl = System.Configuration.ConfigurationManager.AppSettings["siteurl"];
88             if (!string.IsNullOrEmpty(siteurl))
89             {
90                 cookie.Domain = siteurl.Replace("www.", "");
91             }
92             if (expires != null && expires > 0) { cookie.Expires = DateTime.Now.AddDays(Convert.ToInt32(expires)); }
93             HttpContext.Current.Response.AppendCookie(cookie);
94 
95         }
96     }
97 }
View Code

JScript.cs

  1 using System;
  2 using System.Data;
  3 using System.Configuration;
  4 using System.Web;
  5 using System.Web.Security;
  6 using System.Web.UI;
  7 using System.Web.UI.WebControls;
  8 using System.Web.UI.WebControls.WebParts;
  9 using System.Web.UI.HtmlControls;
 10 
 11 namespace Common
 12 {
 13     /// <summary>
 14     /// 一些常用的Js调用
 15     /// 添加新版说明:由于旧版普遍采用Response.Write(string msg)的方式输出js脚本,这种
 16     /// 方式输出的js脚本会在html元素的&lt;html&gt;&lt;/html&gt;标签之外,破坏了整个xhtml的结构,
 17     /// 而新版本则采用ClientScript.RegisterStartupScript(string msg)的方式输出,不会改变xhtml的结构,
 18     /// 不会影响执行效果。
 19     /// 为了向下兼容,所以新版本采用了重载的方式,新版本中要求一个System.Web.UI.Page类的实例。
 20     /// </summary>
 21     public class JScript
 22     {
 23         #region 旧版本
 24         /// <summary>
 25         /// 弹出JavaScript小窗口
 26         /// </summary>
 27         /// <param name="message">窗口信息</param>
 28         public static void Alert(string message)
 29         {
 30             #region
 31             string js = @"<Script language='JavaScript'>
 32                     alert('" + message + "');</Script>";
 33             HttpContext.Current.Response.Write(js);
 34             #endregion
 35         }
 36 
 37         /// <summary>
 38         /// 弹出消息框并且转向到新的URL
 39         /// </summary>
 40         /// <param name="message">消息内容</param>
 41         /// <param name="toURL">连接地址</param>
 42         public static void AlertAndRedirect(string message, string toURL)
 43         {
 44             #region
 45             string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";
 46             HttpContext.Current.Response.Write(string.Format(js, message, toURL));
 47             #endregion
 48         }
 49 
 50         /// <summary>
 51         /// 回到历史页面
 52         /// </summary>
 53         /// <param name="value">-1/1</param>
 54         public static void GoHistory(int value)
 55         {
 56             #region
 57             string js = @"<Script language='JavaScript'>
 58                     history.go({0});  
 59                   </Script>";
 60             HttpContext.Current.Response.Write(string.Format(js, value));
 61             #endregion
 62         }
 63 
 64         /// <summary>
 65         /// 关闭当前窗口
 66         /// </summary>
 67         public static void CloseWindow()
 68         {
 69             #region
 70             string js = @"<Script language='JavaScript'>
 71                     parent.opener=null;window.close();  
 72                   </Script>";
 73             HttpContext.Current.Response.Write(js);
 74             HttpContext.Current.Response.End();
 75             #endregion
 76         }
 77 
 78         /// <summary>
 79         /// 刷新父窗口
 80         /// </summary>
 81         public static void RefreshParent(string url)
 82         {
 83             #region
 84             string js = @"<Script language='JavaScript'>
 85                     window.opener.location.href='" + url + "';window.close();</Script>";
 86             HttpContext.Current.Response.Write(js);
 87             #endregion
 88         }
 89 
 90 
 91         /// <summary>
 92         /// 刷新打开窗口
 93         /// </summary>
 94         public static void RefreshOpener()
 95         {
 96             #region
 97             string js = @"<Script language='JavaScript'>
 98                     opener.location.reload();
 99                   </Script>";
100             HttpContext.Current.Response.Write(js);
101             #endregion
102         }
103 
104 
105         /// <summary>
106         /// 打开指定大小的新窗体
107         /// </summary>
108         /// <param name="url">地址</param>
109         /// <param name="width"></param>
110         /// <param name="heigth"></param>
111         /// <param name="top">头位置</param>
112         /// <param name="left">左位置</param>
113         public static void OpenWebFormSize(string url, int width, int heigth, int top, int left)
114         {
115             #region
116             string js = @"<Script language='JavaScript'>window.open('" + url + @"','','height=" + heigth + ",width=" + width + ",top=" + top + ",left=" + left + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');</Script>";
117 
118             HttpContext.Current.Response.Write(js);
119             #endregion
120         }
121 
122 
123         /// <summary>
124         /// 转向Url制定的页面
125         /// </summary>
126         /// <param name="url">连接地址</param>
127         public static void JavaScriptLocationHref(string url)
128         {
129             #region 转向按钮Js
130             string js = @"<Script language='JavaScript'>
131                     window.location.replace('{0}');
132                   </Script>";
133             js = string.Format(js, url);
134             HttpContext.Current.Response.Write(js);
135             #endregion
136         }
137 
138         /// <summary>
139         /// 打开指定大小位置的模式对话框
140         /// </summary>
141         /// <param name="webFormUrl">连接地址</param>
142         /// <param name="width"></param>
143         /// <param name="height"></param>
144         /// <param name="top">距离上位置</param>
145         /// <param name="left">距离左位置</param>
146         public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left)
147         {
148             #region 大小位置
149             string features = "dialogWidth:" + width.ToString() + "px"
150                 + ";dialogHeight:" + height.ToString() + "px"
151                 + ";dialogLeft:" + left.ToString() + "px"
152                 + ";dialogTop:" + top.ToString() + "px"
153                 + ";center:yes;help=no;resizable:no;status:no;scroll=yes";
154             ShowModalDialogWindow(webFormUrl, features);
155             #endregion
156         }
157         /// <summary>
158         /// 弹出模态窗口
159         /// </summary>
160         /// <param name="webFormUrl"></param>
161         /// <param name="features"></param>
162         public static void ShowModalDialogWindow(string webFormUrl, string features)
163         {
164             string js = ShowModalDialogJavascript(webFormUrl, features);
165             HttpContext.Current.Response.Write(js);
166         }
167         /// <summary>
168         /// 弹出模态窗口
169         /// </summary>
170         /// <param name="webFormUrl"></param>
171         /// <param name="features"></param>
172         /// <returns></returns>
173         public static string ShowModalDialogJavascript(string webFormUrl, string features)
174         {
175             #region 模态窗口
176             string js = @"<script language=javascript>                            
177                             showModalDialog('" + webFormUrl + "','','" + features + "');</script>";
178             return js;
179             #endregion
180         }
181         #endregion
182 
183         #region 新版本
184         /// <summary>
185         /// 弹出JavaScript小窗口
186         /// </summary>
187         /// <param name="message">窗口信息</param>
188         /// <param name="page">Page类的实例</param>
189         public static void Alert(string message, Page page)
190         {
191             #region
192             string js = @"<Script language='JavaScript'>
193                     alert('" + message + "');</Script>";
194             if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert"))
195             {
196                 page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js);
197             }
198             #endregion
199         }
200 
201         /// <summary>
202         /// 弹出消息框并且转向到新的URL
203         /// </summary>
204         /// <param name="message">消息内容</param>
205         /// <param name="toURL">连接地址</param>
206         /// <param name="page">Page类的实例</param> 
207         public static void AlertAndRedirect(string message, string toURL, Page page)
208         {
209             #region
210             string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";
211             if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect"))
212             {
213                 page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL));
214             }
215             #endregion
216         }
217 
218         /// <summary>
219         /// 回到历史页面
220         /// </summary>
221         /// <param name="value">-1/1</param>
222         /// <param name="page">Page类的实例</param> 
223         public static void GoHistory(int value, Page page)
224         {
225             #region
226             string js = @"<Script language='JavaScript'>
227                     history.go({0});  
228                   </Script>";
229             if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory"))
230             {
231                 page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value));
232             }
233             #endregion
234         }
235 
236         /// <summary>
237         /// 刷新父窗口
238         /// </summary>
239         /// <param name="url">要刷新的url</param>
240         /// <param name="page">Page类的实例</param>
241         public static void RefreshParent(string url, Page page)
242         {
243             #region
244             string js = @"<Script language='JavaScript'>
245                     window.opener.location.href='" + url + "';window.close();</Script>";
246             //HttpContext.Current.Response.Write(js);
247             if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent"))
248             {
249                 page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js);
250             }
251             #endregion
252         }
253 
254 
255         /// <summary>
256         /// 刷新打开窗口
257         /// </summary>
258         /// <param name="page">Page类的实例</param>
259         public static void RefreshOpener(Page page)
260         {
261             #region
262             string js = @"<Script language='JavaScript'>
263                     opener.location.reload();
264                   </Script>";
265             //HttpContext.Current.Response.Write(js);
266             if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener"))
267             {
268                 page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js);
269             }
270             #endregion
271         }
272 
273 
274         /// <summary>
275         /// 打开指定大小的新窗体
276         /// </summary>
277         /// <param name="url">地址</param>
278         /// <param name="width"></param>
279         /// <param name="heigth"></param>
280         /// <param name="top">头位置</param>
281         /// <param name="left">左位置</param>
282         /// <param name="page">Page类的实例</param>
283         public static void OpenWebFormSize(string url, int width, int heigth, int top, int left, Page page)
284         {
285             #region
286             string js = @"<Script language='JavaScript'>window.open('" + url + @"','','height=" + heigth + ",width=" + width + ",top=" + top + ",left=" + left + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');</Script>";
287             //HttpContext.Current.Response.Write(js);
288             if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize"))
289             {
290                 page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js);
291             }
292             #endregion
293         }
294 
295 
296         /// <summary>
297         /// 转向Url制定的页面
298         /// </summary>
299         /// <param name="url">连接地址</param>
300         /// <param name="page">Page类的实例</param>
301         public static void JavaScriptLocationHref(string url, Page page)
302         {
303             #region
304             string js = @"<Script language='JavaScript'>
305                     window.location.replace('{0}');
306                   </Script>";
307             js = string.Format(js, url);
308             if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref"))
309             {
310                 page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js);
311             }
312             #endregion
313         }
314 
315         /// <summary>
316         /// 打开指定大小位置的模式对话框
317         /// </summary>
318         /// <param name="webFormUrl">连接地址</param>
319         /// <param name="width"></param>
320         /// <param name="height"></param>
321         /// <param name="top">距离上位置</param>
322         /// <param name="left">距离左位置</param>
323         /// <param name="page">Page类的实例</param>
324         public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left, Page page)
325         {
326             #region
327             string features = "dialogWidth:" + width.ToString() + "px"
328                 + ";dialogHeight:" + height.ToString() + "px"
329                 + ";dialogLeft:" + left.ToString() + "px"
330                 + ";dialogTop:" + top.ToString() + "px"
331                 + ";center:yes;help=no;resizable:no;status:no;scroll=yes";
332             ShowModalDialogWindow(webFormUrl, features, page);
333             #endregion
334         }
335         /// <summary>
336         /// 弹出模态窗口
337         /// </summary>
338         /// <param name="webFormUrl"></param>
339         /// <param name="features"></param>
340         /// <param name="page">Page类的实例</param>
341         public static void ShowModalDialogWindow(string webFormUrl, string features, Page page)
342         {
343             string js = ShowModalDialogJavascript(webFormUrl, features);
344             if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow"))
345             {
346                 page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js);
347             }
348         }
349         /// <summary>
350         /// 向当前页面动态输出客户端脚本代码
351         /// </summary>
352         /// <param name="javascript">javascript脚本段</param>
353         /// <param name="page">Page类的实例</param>
354         /// <param name="afterForm">是否紧跟在&lt;form&gt;标记之后输出javascript脚本,如果不是则在&lt;/form&gt;标记之前输出脚本代码</param>
355         public static void AppendScript(string javascript, Page page, bool afterForm)
356         {
357             if (afterForm)
358             {
359                 page.ClientScript.RegisterClientScriptBlock(page.GetType(), page.ToString(), javascript);
360             }
361             else
362             {
363                 page.ClientScript.RegisterStartupScript(page.GetType(), page.ToString(),javascript);
364             }
365         }
366         #endregion
367     }
368 }
View Code

QueryString.cs

  1 using System.Web;
  2 using System.Text.RegularExpressions;
  3 
  4 namespace Common
  5 {
  6     /// <summary>
  7     /// QueryString 地址栏参数
  8     /// </summary>
  9     public class QueryString
 10     {
 11         #region 等于Request.QueryString;如果为null 返回 空“” ,否则返回Request.QueryString[name]
 12         /// <summary>
 13         /// 等于Request.QueryString;如果为null 返回 空“” ,否则返回Request.QueryString[name]
 14         /// </summary>
 15         /// <param name="name"></param>
 16         /// <returns></returns>
 17         public static string Q(string name)
 18         {
 19             return Request.QueryString[name] == null ? "" : Request.QueryString[name];
 20         }
 21         #endregion
 22 
 23         /// <summary>
 24         /// 等于  Request.Form  如果为null 返回 空“” ,否则返回 Request.Form[name]
 25         /// </summary>
 26         /// <param name="name"></param>
 27         /// <returns></returns>
 28         public static string FormRequest(string name)
 29         {
 30             return Request.Form[name] == null ? "" : Request.Form[name].ToString();
 31         }
 32         #region 获取url中的id
 33         /// <summary>
 34         /// 获取url中的id
 35         /// </summary>
 36         /// <param name="name"></param>
 37         /// <returns></returns>
 38         public static int QId(string name)
 39         {
 40             return StrToId(Q(name));
 41         }
 42         #endregion
 43 
 44         #region 获取正确的Id,如果不是正整数,返回0
 45         /// <summary>
 46         /// 获取正确的Id,如果不是正整数,返回0
 47         /// </summary>
 48         /// <param name="_value"></param>
 49         /// <returns>返回正确的整数ID,失败返回0</returns>
 50         public static int StrToId(string _value)
 51         {
 52             if (IsNumberId(_value))
 53                 return int.Parse(_value);
 54             else
 55                 return 0;
 56         }
 57         #endregion
 58 
 59         #region 检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。
 60         /// <summary>
 61         /// 检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。
 62         /// </summary>
 63         /// <param name="_value">需验证的字符串。。</param>
 64         /// <returns>是否合法的bool值。</returns>
 65         public static bool IsNumberId(string _value)
 66         {
 67             return QuickValidate("^[1-9]*[0-9]*$", _value);
 68         }
 69         #endregion
 70 
 71         #region 快速验证一个字符串是否符合指定的正则表达式。
 72         /// <summary>
 73         /// 快速验证一个字符串是否符合指定的正则表达式。
 74         /// </summary>
 75         /// <param name="_express">正则表达式的内容。</param>
 76         /// <param name="_value">需验证的字符串。</param>
 77         /// <returns>是否合法的bool值。</returns>
 78         public static bool QuickValidate(string _express, string _value)
 79         {
 80             if (_value == null) return false;
 81             Regex myRegex = new Regex(_express);
 82             if (_value.Length == 0)
 83             {
 84                 return false;
 85             }
 86             return myRegex.IsMatch(_value);
 87         }
 88         #endregion
 89 
 90         #region 类内部调用
 91         /// <summary>
 92         /// HttpContext Current
 93         /// </summary>
 94         public static HttpContext Current
 95         {
 96             get { return HttpContext.Current; }
 97         }
 98         /// <summary>
 99         /// HttpContext Current  HttpRequest Request   get { return Current.Request;
100         /// </summary>
101         public static HttpRequest Request
102         {
103             get { return Current.Request; }
104         }
105         /// <summary>
106         ///  HttpContext Current  HttpRequest Request   get { return Current.Request; HttpResponse Response  return Current.Response;
107         /// </summary>
108         public static HttpResponse Response
109         {
110             get { return Current.Response; }
111         }
112         #endregion
113     }
114 }
View Code

RupengPager.cs

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Web;
  5 using System.Text;
  6 using System.Diagnostics;
  7 
  8 namespace Common
  9 {
 10     /// <summary>
 11     /// 分页组件调用实例
 12     /// var pager = new Common.RupengPager();
 13     ///        pager.UrlFormat = "测试分页.aspx?pagenum={n}";//设置分页URL
 14     ///        pager.PageSize = 10; //设置每页显示个数
 15     ///        pager.TryParseCurrentPageIndex(Request["pagenum"]);//获取当前页数
 16     ///        int startRowIndex = (pager.CurrentPageIndex - 1) * pager.PageSize;//开始行号计算
 17     ///        So_KeywordLogBLL bll = new So_KeywordLogBLL();//获取分页数据
 18     ///        pager.TotalCount = bll.GetTotalCount();//计算总个数
 19     ///        Repeater1.DataSource = bll.GetPagedData(startRowIndex, startRowIndex + pager.PageSize - 1); //设置数据绑定
 20     ///        Repeater1.DataBind(); 
 21     ///       PagerHTML = pager.Render();//渲染页码条HTML
 22     /// </summary>
 23     public class RupengPager
 24     {
 25         /// <summary>
 26         /// 总数据条数
 27         /// </summary>
 28         public int TotalCount { get; set; }
 29 
 30         /// <summary>
 31         /// 每页数据条数
 32         /// </summary>
 33         public int PageSize { get; set; }
 34 
 35         /// <summary>
 36         /// 当前页码(从1开始)
 37         /// </summary>
 38         public int CurrentPageIndex { get; set; }
 39 
 40         /// <summary>
 41         /// 显示出来最多的页码数量,因为假设有100页,不可能把100页都显示到界面上
 42         /// </summary>
 43         public int MaxPagerCount { get; set; }
 44 
 45         /// <summary>
 46         /// 页码链接的地址格式,页码用{n}占位。
 47         /// </summary>
 48         public string UrlFormat { get; set; }
 49         /// <summary>
 50         /// 默认初始化
 51         /// </summary>
 52         public RupengPager()
 53         {
 54             PageSize = 10;
 55             MaxPagerCount = 10;
 56         }
 57 
 58         /// <summary>
 59         /// 尝试从字符串pn中解析当前页面赋值给CurrentPageIndex
 60         /// </summary>
 61         /// <param name="pn"></param>
 62         public void TryParseCurrentPageIndex(string pn)
 63         {
 64             int temp;
 65             if (int.TryParse(pn, out temp))
 66             {
 67                 CurrentPageIndex = temp;
 68             }
 69             else
 70             {
 71                 CurrentPageIndex = 1;
 72             }
 73         }
 74 
 75         /// <summary>
 76         /// 创建页码链接
 77         /// </summary>
 78         /// <param name="i">页码</param>
 79         /// <param name="text">链接文本</param>
 80         /// <returns></returns>
 81         private string GetPageLink(int i,string text)
 82         {
 83             StringBuilder sb = new StringBuilder();
 84             string url = UrlFormat.Replace("{n}", i.ToString());
 85             sb.Append("<a href='").Append(url).Append("'>").Append(text).Append("</a>");
 86             return sb.ToString();
 87         }
 88         public string Render()
 89         {
 90          
 91 
 92             StringBuilder sb = new StringBuilder();
 93             //TotalCount=35,PageSize=10,pageCount=4
 94 
 95             //计算总页数,如果是30条,则是3页,31条也是3页,29条也是3页,因此是
 96             //天花板运算Ceiling
 97             double tempCount = TotalCount / PageSize;
 98             int pageCount = (int)Math.Ceiling(tempCount);
 99 
100             //计算显示的页码数(当总页码大于MaxPagerCount)的起始页码
101             int visibleStart = CurrentPageIndex-MaxPagerCount/2;
102             if (visibleStart <1)
103             {
104                 visibleStart = 1;
105             }
106 
107             //计算显示的页码数(当总页码大于MaxPagerCount)的起始页码
108             int visibleEnd = visibleStart + MaxPagerCount;
109             //显示最多MaxPagerCount条
110             //如果算出来的结束页码大于总页码的话则调整为最大页码
111             if (visibleEnd >pageCount)
112             {
113                 visibleEnd = pageCount;
114             }
115 
116             if (CurrentPageIndex > 1)
117             {
118                 sb.Append(GetPageLink(1, "首页"));
119                 sb.Append(GetPageLink(CurrentPageIndex - 1, "上一页"));
120             }
121             else
122             {
123                 sb.Append("<span>首页</span>");
124                 //如果没有上一页了,则只显示一个上一页的文字,没有超链接
125                 sb.Append("<span>上一页</span>");
126             }
127 
128             //绘制可视的页码链接
129             for (int i = visibleStart; i <= visibleEnd; i++)
130             {
131                 //当前页不是超链接
132                 if (i == CurrentPageIndex)
133                 {
134                     sb.Append("<span>").Append(i).Append("</span>");
135                 }
136                 else
137                 {
138                     sb.Append(GetPageLink(i,i.ToString()));
139                 }                
140             }
141             if (CurrentPageIndex < pageCount)
142             {
143                 sb.Append(GetPageLink(CurrentPageIndex + 1, "下一页"));
144                 sb.Append(GetPageLink(pageCount + 1, "末页"));
145             }
146             else
147             {
148                 sb.Append("<span>下一页</span>");
149                 sb.Append("<span>末页</span>");
150             }            
151             return sb.ToString();
152         }
153     }
154 }
View Code

SessionHelper.cs

  1 using System.Web;
  2 
  3 namespace Common
  4 {
  5     /// <summary>
  6     /// Session 操作类
  7     /// 1、GetSession(string name)根据session名获取session对象
  8     /// 2、SetSession(string name, object val)设置session
  9     /// </summary>
 10     public class SessionHelper
 11     {
 12         /// <summary>
 13         /// 根据session名获取session对象
 14         /// </summary>
 15         /// <param name="name"></param>
 16         /// <returns></returns>
 17         public static object GetSession(string name)
 18         {
 19             return HttpContext.Current.Session[name];
 20         }
 21         /// <summary>
 22         /// 设置session
 23         /// </summary>
 24         /// <param name="name">session 名</param>
 25         /// <param name="val">session 值</param>
 26         public static void SetSession(string name, object val)
 27         {
 28             HttpContext.Current.Session.Remove(name);
 29             HttpContext.Current.Session.Add(name, val);
 30         }
 31         /// <summary>
 32         /// 添加Session,调动有效期为20分钟
 33         /// </summary>
 34         /// <param name="strSessionName">Session对象名称</param>
 35         /// <param name="strValue">Session值</param>
 36         public static void Add(string strSessionName, string strValue)
 37         {
 38             HttpContext.Current.Session[strSessionName] = strValue;
 39             HttpContext.Current.Session.Timeout = 20;
 40         }
 41 
 42         /// <summary>
 43         /// 添加Session,调动有效期为20分钟
 44         /// </summary>
 45         /// <param name="strSessionName">Session对象名称</param>
 46         /// <param name="strValues">Session值数组</param>
 47         public static void Adds(string strSessionName, string[] strValues)
 48         {
 49             HttpContext.Current.Session[strSessionName] = strValues;
 50             HttpContext.Current.Session.Timeout = 20;
 51         }
 52 
 53         /// <summary>
 54         /// 添加Session
 55         /// </summary>
 56         /// <param name="strSessionName">Session对象名称</param>
 57         /// <param name="strValue">Session值</param>
 58         /// <param name="iExpires">调动有效期(分钟)</param>
 59         public static void Add(string strSessionName, string strValue, int iExpires)
 60         {
 61             HttpContext.Current.Session[strSessionName] = strValue;
 62             HttpContext.Current.Session.Timeout = iExpires;
 63         }
 64 
 65         /// <summary>
 66         /// 添加Session
 67         /// </summary>
 68         /// <param name="strSessionName">Session对象名称</param>
 69         /// <param name="strValues">Session值数组</param>
 70         /// <param name="iExpires">调动有效期(分钟)</param>
 71         public static void Adds(string strSessionName, string[] strValues, int iExpires)
 72         {
 73             HttpContext.Current.Session[strSessionName] = strValues;
 74             HttpContext.Current.Session.Timeout = iExpires;
 75         }
 76 
 77         /// <summary>
 78         /// 读取某个Session对象值
 79         /// </summary>
 80         /// <param name="strSessionName">Session对象名称</param>
 81         /// <returns>Session对象值</returns>
 82         public static string Get(string strSessionName)
 83         {
 84             if (HttpContext.Current.Session[strSessionName] == null)
 85             {
 86                 return null;
 87             }
 88             else
 89             {
 90                 return HttpContext.Current.Session[strSessionName].ToString();
 91             }
 92         }
 93 
 94         /// <summary>
 95         /// 读取某个Session对象值数组
 96         /// </summary>
 97         /// <param name="strSessionName">Session对象名称</param>
 98         /// <returns>Session对象值数组</returns>
 99         public static string[] Gets(string strSessionName)
100         {
101             if (HttpContext.Current.Session[strSessionName] == null)
102             {
103                 return null;
104             }
105             else
106             {
107                 return (string[])HttpContext.Current.Session[strSessionName];
108             }
109         }
110 
111         /// <summary>
112         /// 删除某个Session对象
113         /// </summary>
114         /// <param name="strSessionName">Session对象名称</param>
115         public static void Del(string strSessionName)
116         {
117             HttpContext.Current.Session[strSessionName] = null;
118         }
119         /// <summary>
120         /// 移除Session
121         /// </summary>
122         public static void Remove(string sessionname)
123         {
124             if (HttpContext.Current.Session[sessionname] != null)
125             {
126                 HttpContext.Current.Session.Remove(sessionname);
127                 HttpContext.Current.Session[sessionname] = null;
128             }
129         }
130     }
131 }
View Code

原创文章 转载请尊重劳动成果 http://yuangang.cnblogs.com

原文地址:https://www.cnblogs.com/yuangang/p/5507953.html