BS常用方法备忘

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

  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 }

时间: 2024-10-30 04:37:38

BS常用方法备忘的相关文章

VMS中解协议常用方法备忘

来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=282GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http://cnsendnet.taobao.com 1.由ASICC编码的字符串转换为十六进制byte数组2.将指定字节数组中的一个字节序列解码为一个字符串 3.将二进制字符串转化为byte类型4.将SIM卡号转化为byte数组5.将BCD[6]转换为12位数字字符串6.关于IPAddress.HostToNetworkOrder(

一篇 jQuery 常用方法及函数的文章留存备忘。

jQuery 常见操作实现方式 $("标签名") //取html元素 document.getElementsByTagName("") $("#ID") //取单个控件document.getElementById("") $("div #ID") //取某个控件中 控件 $("#ID #ID") // 通过控件ID取其中的控件 $("标签.class样式名") /

Scroll view 备忘

Stroyboard中使用ScrollView 当我们使用Storyboard开发项目时,如果要往控制器上拖入一个ScrollView并且添加约束设置滚动区域,是有特殊的规定的: 拖入一个scrollview,规定它的位置大小: 如果想要scrollview滚动的话,需要一个view作为scrollview的子视图,称之为 containerView,并且containerView的约束决定着scroll view 是否可以滚动 注意:在实际开发中,我们可能会遇到不止上下滚动(设置水平居中和高度

RxJava & RxAndroid备忘

"你问我要去向何方,我指着大海的方向" 今天在刷G+的时候看到Dave Smith推荐了一个视频 <Learning RxJava (for Android) by example> 点进去看了一下,原来是位熟悉的"阿三哥",视频封面如下:(没有歧视的意思,不要喷我啊~,为什么感到熟悉?接着往下看) 几乎同时也看到了JetBrains在G+也推荐了篇在Medium上的博文 <RxAndroid And Kotlin (Part 1)> ,然后

工作备忘:cacti&nagios登录密码修改方法

[[email protected]]# mysql -u root -p mysql> use cacti; mysql> select * from user_auth; mysql> update user_auth set password=md5("cactipasswd") where id='1'; 现在cacti登录的新密码就是cactipasswd [[email protected]]# /usr/bin/htpasswd /usr/local/n

备忘-linux文件系统结构

用apache的时候总是要进入/var/www, 用久了开始好奇这些个目录都是派什么用处的,简单整理了一下 /bin 存放二进制命令文件,这个目录下面不允许存在子目录/boot bootloader的静态文件,当然OS的文件也必须在这里/dev 设备文件,MAKEDEV命令可以创建设备/etc 特定主机的配置文件,必须是静态文件,非可执行文件: opt, X11, sgml, xml/home 用户目录 /lib 存放主要的共享库和核心模块/media 可移除媒体的挂载点: floppy, cd

[转]Windows环境下尝试安装并配置PHP PEAR备忘

转自:http://wangye.org/blog/archives/266/ 什么是PEAR 来自百度百科:PEAR 是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写.它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl. 由此可见PEAR是PHP代码的仓库,在这里可以找到很多有用的代码,避免我们重复写一些功能,

Table view 备忘

Table view 备忘 本篇会以备忘为主,主要是一些基础的代理方法和数据源方法具体的优化好点子会后续跟上. Table view的数据源方法 必须实现的数据源方法 // 返回每一行的cell,可以做缓存处理,同样也可能会造成复用问题. func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // tableview 和 cell 都是在s

oracle下 启动subversion命令 及 oracle相关服务启动备忘

linux shell下  svnserve - d -r + 目录   例如:svnserve -d -r /svn 启动 svn服务. 访问svn://192.168.0.120/kjcg 测试. 启动oracle: 一.如何启动数据库实例 1.进入到sqlplus启动实例 [[email protected] ~]$ su - oracle --“切换到oracle用户” 2. Password: [[email protected] ~]$ lsnrctl start  --“打开监听”