码迷,mamicode.com
首页 > 其他好文 > 详细

BS常用方法备忘

时间:2014-09-29 16:44:51      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   ar   for   

在B/S项目开发过程中总结的一些常用方法,如:常量、验证方法、服务器控件方法、html控件方法等。

bubuko.com,布布扣
  1 ///******************* 说明 ***************************///
  2 ///     作者:清风携夕阳
  3 ///     时间:2014-09-29
  4 ///     描述:Web服务端控件辅助类,程序开发过程中常用方法
  5 ///***************************************************///
  6 using System;
  7 using System.Data;
  8 using System.Collections.Generic;
  9 using System.Web.UI.WebControls;
 10 namespace Common
 11 {
 12     /// <summary>
 13     /// Web服务端控件辅助类
 14     /// </summary>
 15     [Serializable]
 16     public static class WebHelper
 17     {
 18         #region 常量、静态变量
 19         /// <summary>
 20         /// 8位时间格式yyyymmdd
 21         /// </summary>
 22         public static string time8 = "yyyymmdd";
 23         /// <summary>
 24         /// 10位时间格式yyyy-mm-dd
 25         /// </summary>
 26         public static string time10 = "yyyy-mm-dd";
 27         /// <summary>
 28         /// 通用空值选项文本
 29         /// </summary>
 30         public static string emptySelect = "--请选择--";
 31         #endregion
 32         #region 验证、检测方法
 33          /// <summary>
 34          /// 验证sql匹配条件是否正确(若以and开头则自动去除)
 35          /// </summary>
 36          /// <param name="strWhere">sql匹配条件</param>
 37         public static string CheckStrWhere(string strWhere)
 38         {
 39             string str = strWhere.TrimStart();//去除前置空格
 40             if (str.ToLower().IndexOf("and ") == 0)//若以and开头则自动去除第一个and
 41             {
 42                 strWhere = str.Substring(4);//若要保留前面一个空格,可以改为3
 43             }
 44             return strWhere;
 45         }
 46         #endregion
 47         #region 服务端控件方法
 48 
 49         #region CheckBoxList
 50         /// <summary>
 51         /// 获取CheckBoxList选中项数目
 52         /// </summary>
 53         public static int CheckedCount(CheckBoxList ckboxlist)
 54         {
 55             int count = 0;
 56             foreach (ListItem item in ckboxlist.Items)
 57             {
 58                 if (item.Selected == true)
 59                 {
 60                     count++;
 61                 }
 62             }
 63             return count;
 64         }
 65         /// <summary>
 66         /// 根据选项值选中CheckBoxList选项
 67         /// </summary>
 68         public static void SetChecked(CheckBoxList cboxlist, List<string> vals)
 69         {
 70             if (vals == null || vals.Count == 0)
 71             {
 72                 return;
 73             }
 74             for (int i = 0; i < cboxlist.Items.Count; i++)
 75             {
 76                 ListItem item = cboxlist.Items[i];
 77                 for (int j = 0; j < vals.Count; j++)
 78                 {
 79                     if (item.Value == vals[j])
 80                     {
 81                         item.Selected = true;
 82                         vals.Remove(vals[j]);
 83                         break;
 84                     }
 85                 }
 86                 if (vals.Count == 0)
 87                 {
 88                     return;
 89                 }
 90             }
 91         }
 92         /// <summary>
 93         /// 获取CheckBoxList选中项的值
 94         /// </summary>
 95         public static List<string> GetChecked(CheckBoxList cboxlist)
 96         {
 97             List<string> vals = new List<string>();
 98             foreach (ListItem item in cboxlist.Items)
 99             {
100                 if (item.Selected == true)
101                 {
102                     vals.Add(item.Value);
103                 }
104             }
105             return vals;
106         }
107         /// <summary>
108         /// 清空选项
109         /// </summary>
110         public static void ClearChecked(CheckBoxList cboxlist)
111         {
112             foreach (ListItem item in cboxlist.Items)
113             {
114                 item.Selected = false;
115             }
116         }
117         /// <summary>
118         /// 全选
119         /// </summary>
120         public static void CheckAll(CheckBoxList cboxlist)
121         {
122             foreach (ListItem item in cboxlist.Items)
123             {
124                 item.Selected = true;
125             }
126         }
127         /// <summary>
128         /// 反选
129         /// </summary>
130         public static void CheckNotChecked(CheckBoxList cboxlist)
131         {
132             foreach (ListItem item in cboxlist.Items)
133             {
134                 item.Selected = !item.Selected;
135             }
136         }
137         /// <summary>
138         /// 根据数据表绑定CheckBoxList控件
139         /// </summary>
140         /// <param name="dt">数据表</param>
141         /// <param name="TextField">选项名称列编码</param>
142         /// <param name="ValueField">选项值列编码</param>
143         public static void BindCheckBoxList(CheckBoxList cboxlist, DataTable dt, string TextField, string ValueField)
144         {
145             cboxlist.Items.Clear();
146             if (dt != null && dt.Rows.Count > 0)
147             {
148                 cboxlist.DataSource = dt;
149                 cboxlist.DataTextField = TextField;
150                 cboxlist.DataValueField = ValueField;
151                 cboxlist.DataBind();
152             }
153         }
154         #endregion
155         #region RadioButtonList
156         /// <summary>
157         /// 根据数据表绑定RadioButtonList控件
158         /// </summary>
159         /// <param name="dt">数据</param>
160         /// <param name="TextField">选项名称列编码</param>
161         /// <param name="ValueField">选项值列编码</param>
162         public static void BindRadioButtonList(RadioButtonList rdolist, DataTable dt, string TextField, string ValueField)
163         {
164             rdolist.Items.Clear();
165             if (dt != null && dt.Rows.Count > 0)
166             {
167                 rdolist.DataSource = dt;
168                 rdolist.DataTextField = TextField;
169                 rdolist.DataValueField = ValueField;
170                 rdolist.DataBind();
171             }
172         }
173         #endregion
174         #region DropDownList
175         /// <summary>
176         /// 根据数据表绑定RadioButtonList控件
177         /// </summary>
178         /// <param name="dt">数据表</param>
179         /// <param name="TextField">选项名称列编码</param>
180         /// <param name="ValueField">选项值列编码</param>
181         /// <param name="ListName">空值显示文本,若为空则无空值选项</param>
182         public static void BindDropDownList(DropDownList dlist, DataTable dt, string TextField, string ValueField, string EmptyValueText)
183         {
184             dlist.Items.Clear();
185             if (dt != null && dt.Rows.Count > 0)
186             {
187                 dlist.DataSource = dt;
188                 dlist.DataTextField = TextField;
189                 dlist.DataValueField = ValueField;
190                 dlist.DataBind();
191             }
192             if (!String.IsNullOrEmpty(EmptyValueText))
193             {
194                 dlist.Items.Insert(0, new ListItem(EmptyValueText, ""));
195             }
196         }
197         #endregion
198         #region ListBox
199         /// <summary>
200         /// 根据数据表绑定ListBox控件
201         /// </summary>
202         /// <param name="dt">数据表</param>
203         /// <param name="TextField">选项名称列编码</param>
204         /// <param name="ValueField">选项值列编码</param>
205         public static void BindListBox(ListBox lbox, DataTable dt, string TextField, string ValueField)
206         {
207             lbox.Items.Clear();
208             if (dt != null && dt.Rows.Count > 0)
209             {
210                 lbox.DataSource = dt;
211                 lbox.DataTextField = TextField;
212                 lbox.DataValueField = ValueField;
213                 lbox.DataBind();
214             }
215         }
216         /// <summary>
217         /// 根据选项文本查找并选中ListBox选项
218         /// </summary>
219         /// <param name="lbox">ListBox</param>
220         /// <param name="strValue">选项显示的文本</param>
221         public static void FindAndFixItemByText(ListBox lbox, string strValue)
222         {
223             int count = lbox.Items.Count;
224             int index = lbox.SelectedIndex;
225             if (count > 0)
226             {
227                 int i = index + 1;
228                 for (; i < count; i++)
229                 {
230                     ListItem li = lbox.Items[i];
231                     if (li.Text.Contains(strValue))
232                     {
233                         lbox.SelectedIndex = i;
234                         break;
235                     }
236                     if (index > 0 && i == count - 1)
237                     {
238                         count = index;
239                         i = 0;
240                         index = 0;
241                     }
242                 }
243             }
244         }
245         #endregion
246         #region TreeView 2013-08-12
247         /// <summary>
248         /// 展开指定节点的所有上级节点
249         /// </summary>
250         public static void ExpandAllParentNode(TreeNode tn)
251         {
252             if (tn.Parent != null)
253             {
254                 tn.Parent.Expand();
255                 ExpandAllParentNode(tn.Parent);
256             }
257         }
258         /// <summary>
259         /// 清空TreeView节点选中状态
260         /// </summary>
261         public static void ClearTreeNodesChecked(TreeView tview)
262         {
263             if (tview.Nodes.Count > 0)
264             {
265                 foreach (TreeNode tn in tview.Nodes)
266                 {
267                     ClearTreeNodesChecked(tn);
268                 }
269             }
270         }
271         /// <summary>
272         /// 清空子节点选中状态
273         /// </summary>
274         public static void ClearTreeNodesChecked(TreeNode tn)
275         {
276             if (tn != null)
277             {
278                 tn.Checked = false;
279                 if (tn.ChildNodes.Count > 0)
280                 {
281                     foreach (TreeNode child in tn.ChildNodes)
282                     {
283                         ClearTreeNodesChecked(child);
284                     }
285                 }
286             }
287         }
288         /// <summary>
289         /// 根据节点Value值查找节点
290         /// </summary>
291         /// <param name="tnParent">根节点</param>
292         /// <param name="strValue">节点值</param>
293         public static TreeNode FindNodeByValue(TreeNode tnParent, string strValue)
294         {
295             if (tnParent == null)
296                 return null;
297             if (tnParent.Value == strValue)
298                 return tnParent;
299             TreeNode tnRet = null;
300             foreach (TreeNode tn in tnParent.ChildNodes)
301             {
302                 tnRet = FindNodeByValue(tn, strValue);
303                 if (tnRet != null) break;
304             }
305             return tnRet;
306         }
307         /// <summary>
308         /// 根据节点Value值查找节点
309         /// </summary>
310         /// <param name="tview">TreeView</param>
311         /// <param name="strValue">节点值</param>
312         public static TreeNode FindNodeByValue(TreeView tview, string strValue)
313         {
314             if (tview.Nodes.Count == 0)
315                 return null;
316             TreeNode tnRet = null;
317             foreach (TreeNode tn in tview.Nodes)
318             {
319                 tnRet = FindNodeByValue(tn, strValue);
320                 if (tnRet != null) break;
321             }
322             return tnRet;
323         }
324         /// <summary>
325         /// 根据节点Value值查找指定层级的节点
326         /// </summary>
327         /// <param name="tnParent">根节点</param>
328         /// <param name="depth">节点层级</param>
329         /// <param name="strValue">节点值</param>
330         public static TreeNode FindNodeByValue(TreeNode tnParent, int depth, string strValue)
331         {
332             if (tnParent == null)
333                 return null;
334             if (tnParent.Value == strValue && tnParent.Depth == depth)
335                 return tnParent;
336             TreeNode tnRet = null;
337             if (tnParent.Depth < depth)//不去查找更深层次的节点
338             {
339                 foreach (TreeNode tn in tnParent.ChildNodes)
340                 {
341                     tnRet = FindNodeByValue(tn, depth, strValue);
342                     if (tnRet != null) break;
343                 }
344             }
345             return tnRet;
346         }
347         /// <summary>
348         /// 根据节点Value值查找指定层级的节点
349         /// </summary>
350         /// <param name="tview">TreeView</param>
351         /// <param name="depth">节点层级</param>
352         /// <param name="strValue">节点值</param>
353         public static TreeNode FindNodeByValue(TreeView tview, int depth, string strValue)
354         {
355             if (tview.Nodes.Count == 0)
356                 return null;
357             TreeNode tnRet = null;
358             foreach (TreeNode tn in tview.Nodes)
359             {
360                 tnRet = FindNodeByValue(tn, depth, strValue);
361                 if (tnRet != null) break;
362             }
363             return tnRet;
364         }
365         /// <summary>
366         /// 根据节点显示名称查找节点
367         /// </summary>
368         /// <param name="tnParent">根节点</param>
369         /// <param name="strValue">节点显示名称</param>
370         public static TreeNode FindNodeByText(TreeNode tnParent, string strValue)
371         {
372             if (tnParent == null)
373                 return null;
374             if (tnParent.Text == strValue)
375                 return tnParent;
376             TreeNode tnRet = null;
377             foreach (TreeNode tn in tnParent.ChildNodes)
378             {
379                 tnRet = FindNodeByText(tn, strValue);
380                 if (tnRet != null) break;
381             }
382             return tnRet;
383         }
384         /// <summary>
385         /// 根据节点显示名称查找节点
386         /// </summary>
387         /// <param name="tview">TreeView</param>
388         /// <param name="strValue">节点显示名称</param>
389         public static TreeNode FindNodeByText(TreeView tview, string strValue)
390         {
391             if (tview.Nodes.Count == 0)
392                 return null;
393             TreeNode tnRet = null;
394             foreach (TreeNode tn in tview.Nodes)
395             {
396                 tnRet = FindNodeByText(tn, strValue);
397                 if (tnRet != null) break;
398             }
399             return tnRet;
400         }
401         /// <summary>
402         /// 根据节点显示名称查找指定层级的节点
403         /// </summary>
404         /// <param name="tnParent">根节点</param>
405         /// <param name="depth">节点层级</param>
406         /// <param name="strValue">节点显示名称</param>
407         public static TreeNode FindNodeByText(TreeNode tnParent, int depth, string strValue)
408         {
409             if (tnParent == null)
410                 return null;
411             if (tnParent.Text == strValue && tnParent.Depth == depth)
412                 return tnParent;
413             TreeNode tnRet = null;
414             if (tnParent.Depth < depth)//不去查找更深层级的节点
415             {
416                 foreach (TreeNode tn in tnParent.ChildNodes)
417                 {
418                     tnRet = FindNodeByText(tn, depth, strValue);
419                     if (tnRet != null) break;
420                 }
421             }
422             return tnRet;
423         }
424         /// <summary>
425         /// 根据节点显示名称查找指定层级的节点
426         /// </summary>
427         /// <param name="tview">TreeView</param>
428         /// <param name="depth">节点层级</param>
429         /// <param name="strValue">节点显示名称</param>
430         public static TreeNode FindNodeByText(TreeView tview, int depth, string strValue)
431         {
432             if (tview.Nodes.Count == 0)
433                 return null;
434             TreeNode tnRet = null;
435             foreach (TreeNode tn in tview.Nodes)
436             {
437                 tnRet = FindNodeByText(tn, depth, strValue);
438                 if (tnRet != null) break;
439             }
440             return tnRet;
441         }
442         /// <summary>
443         /// 根据节点Value值选中指定层级的节点
444         /// </summary>
445         /// <param name="depth">节点层级</param>
446         /// <param name="strValue">节点值</param>
447         public static TreeNode CheckNodeByValue(TreeView tview, int depth, string strValue)
448         {
449             TreeNode tn = FindNodeByValue(tview, depth, strValue);
450             if (tn != null)
451             {
452                 tn.Checked = true;
453             }
454             return tn;
455         }
456         /// <summary>
457         /// 根据节点显示名称选中指定层级的节点
458         /// </summary>
459         /// <param name="tview">TreeView</param>
460         /// <param name="depth">节点层级</param>
461         /// <param name="strValue">节点显示名称</param>
462         public static TreeNode CheckNodeByText(TreeView tview, int depth, string strValue)
463         {
464             TreeNode tn = FindNodeByText(tview, depth, strValue);
465             if (tn != null)
466             {
467                 tn.Checked = true;
468             }
469             return tn;
470         }
471         /// <summary>
472         /// 根据节点Value值查找并选定节点
473         /// </summary>
474         /// <param name="strValue">节点值</param>
475         public static TreeNode FixNodeByValue(TreeView tview, string strValue)
476         {
477             TreeNode tn = FindNodeByValue(tview, strValue);
478             if (tn != null)
479             {
480                 ExpandAllParentNode(tn);
481                 tn.Select();
482             }
483             return tn;
484         }
485         /// <summary>
486         /// 根据节点显示名称查找并选定节点
487         /// </summary>
488         /// <param name="tview">TreeView</param>
489         /// <param name="strValue">节点显示名称</param>
490         public static TreeNode FixNodeByText(TreeView tview, string strValue)
491         {
492             TreeNode tn = FindNodeByText(tview, strValue);
493             if (tn != null)
494             {
495                 ExpandAllParentNode(tn);
496                 tn.Select();
497             }
498             return tn;
499         }
500         /// <summary>
501         /// 展开第一序列节点并选中最底层节点
502         /// </summary>
503         /// <param name="root">根节点</param>
504         /// <param name="tview">tview</param>
505         public static void ExpandFirstsNode(TreeNode root, TreeView tview)
506         {
507             if (root.ChildNodes.Count > 0)
508             {
509                 ExpandFirstsNode(root.ChildNodes[0], tview);
510             }
511             else
512             {
513                 root.Select();
514             }
515         }
516         /// <summary>
517         /// 展开第一序列节点并选中最底层节点
518         /// </summary>
519         public static void ExpandFirstsNode(TreeView tview)
520         {
521             if (tview.Nodes.Count > 0)
522             {
523                 ExpandFirstsNode(tview.Nodes[0], tview);
524             }
525         }
526         #endregion
527 
528         #endregion
529         #region html控件方法
530 
531         #region select
532          /// <summary>
533         /// 获取下拉选项htm
534         /// </summary>
535         /// <param name="dt">数据集</param>
536         /// <param name="valueField">选项值字段</param>
537         /// <param name="textField">选项文本字段</param>
538         /// <param name="emptyText">空值文本,若为空则无空值选项</param>
539         public static string GetSelectOptionHtm(DataTable dt, string valueField, string textField, string emptyText)
540         {
541             string htm = String.Empty;
542             if (!String.IsNullOrEmpty(emptyText))
543             {
544                 htm += "<option value=\"\">" + emptyText + "</option>\r\n";
545             }
546             if (dt != null)
547             {
548                 for (int i = 0; i < dt.Rows.Count; i++)
549                 {
550                     htm += "<option value=\"" + dt.Rows[i][valueField] + "\">" + dt.Rows[i][textField] + "</option>\r\n";
551                 }
552             }
553             return htm;
554         }
555         /// <summary>
556         /// 绑定下拉列表(runat=‘server‘的select)
557         /// </summary>
558         /// <param name="dt">数据集</param>
559         /// <param name="valueField">选项值字段</param>
560         /// <param name="textField">选项文本字段</param>
561         /// <param name="emptyText">空值文本,若为空则无空值选项</param>
562         public static void BindSelectList(DataTable dt,HtmlSelect select,string valueField,string textField,string emptyText)
563         {
564             select.Items.Clear();
565             if (dt != null && dt.Rows.Count > 0)
566             {
567                 select.DataSource = dt;
568                 select.DataValueField = valueField;
569                 select.DataTextField = textField;
570                 select.DataBind();
571             }
572             if (!String.IsNullOrEmpty(emptyText))
573             {
574                 select.Items.Insert(0, new System.Web.UI.WebControls.ListItem(emptyText, ""));
575             }
576         }
577         #endregion
578 
579         #endregion
580     }
581 }
View Code

 

BS常用方法备忘

标签:des   style   blog   http   color   io   os   ar   for   

原文地址:http://www.cnblogs.com/mqly/p/4000235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!