asp.net中的WebFrom

///******************* 说明 ***************************///
/// 作者:清风携夕阳
/// 时间:2014-09-29
/// 描述:Web服务端控件辅助类,程序开发过程中常用方法
///***************************************************///
using System;
using System.Data;
using System.Collections.Generic;
using System.Web.UI.WebControls;
namespace Common
{
/// <summary>
/// Web服务端控件辅助类
/// </summary>
[Serializable]
public static class WebHelper
{
#region 常量、静态变量
/// <summary>
/// 8位时间格式yyyymmdd
/// </summary>
public static string time8 = "yyyymmdd";
/// <summary>
/// 10位时间格式yyyy-mm-dd
/// </summary>
public static string time10 = "yyyy-mm-dd";
/// <summary>
/// 通用空值选项文本
/// </summary>
public static string emptySelect = "--请选择--";
#endregion
#region 验证、检测方法
/// <summary>
/// 验证sql匹配条件是否正确(若以and开头则自动去除)
/// </summary>
/// <param name="strWhere">sql匹配条件</param>
public static string CheckStrWhere(string strWhere)
{
string str = strWhere.TrimStart();//去除前置空格
if (str.ToLower().IndexOf("and ") == 0)//若以and开头则自动去除第一个and
{
strWhere = str.Substring(4);//若要保留前面一个空格,可以改为3
}
return strWhere;
}
#endregion
#region 服务端控件方法

#region CheckBoxList
/// <summary>
/// 获取CheckBoxList选中项数目
/// </summary>
public static int CheckedCount(CheckBoxList ckboxlist)
{
int count = 0;
foreach (ListItem item in ckboxlist.Items)
{
if (item.Selected == true)
{
count++;
}
}
return count;
}
/// <summary>
/// 根据选项值选中CheckBoxList选项
/// </summary>
public static void SetChecked(CheckBoxList cboxlist, List<string> vals)
{
if (vals == null || vals.Count == 0)
{
return;
}
for (int i = 0; i < cboxlist.Items.Count; i++)
{
ListItem item = cboxlist.Items[i];
for (int j = 0; j < vals.Count; j++)
{
if (item.Value == vals[j])
{
item.Selected = true;
vals.Remove(vals[j]);
break;
}
}
if (vals.Count == 0)
{
return;
}
}
}
/// <summary>
/// 获取CheckBoxList选中项的值
/// </summary>
public static List<string> GetChecked(CheckBoxList cboxlist)
{
List<string> vals = new List<string>();
foreach (ListItem item in cboxlist.Items)
{
if (item.Selected == true)
{
vals.Add(item.Value);
}
}
return vals;
}
/// <summary>
/// 清空选项
/// </summary>
public static void ClearChecked(CheckBoxList cboxlist)
{
foreach (ListItem item in cboxlist.Items)
{
item.Selected = false;
}
}
/// <summary>
/// 全选
/// </summary>
public static void CheckAll(CheckBoxList cboxlist)
{
foreach (ListItem item in cboxlist.Items)
{
item.Selected = true;
}
}
/// <summary>
/// 反选
/// </summary>
public static void CheckNotChecked(CheckBoxList cboxlist)
{
foreach (ListItem item in cboxlist.Items)
{
item.Selected = !item.Selected;
}
}
/// <summary>
/// 根据数据表绑定CheckBoxList控件
/// </summary>
/// <param name="dt">数据表</param>
/// <param name="TextField">选项名称列编码</param>
/// <param name="ValueField">选项值列编码</param>
public static void BindCheckBoxList(CheckBoxList cboxlist, DataTable dt, string TextField, string ValueField)
{
cboxlist.Items.Clear();
if (dt != null && dt.Rows.Count > 0)
{
cboxlist.DataSource = dt;
cboxlist.DataTextField = TextField;
cboxlist.DataValueField = ValueField;
cboxlist.DataBind();
}
}
#endregion
#region RadioButtonList
/// <summary>
/// 根据数据表绑定RadioButtonList控件
/// </summary>
/// <param name="dt">数据</param>
/// <param name="TextField">选项名称列编码</param>
/// <param name="ValueField">选项值列编码</param>
public static void BindRadioButtonList(RadioButtonList rdolist, DataTable dt, string TextField, string ValueField)
{
rdolist.Items.Clear();
if (dt != null && dt.Rows.Count > 0)
{
rdolist.DataSource = dt;
rdolist.DataTextField = TextField;
rdolist.DataValueField = ValueField;
rdolist.DataBind();
}
}
#endregion
#region DropDownList
/// <summary>
/// 根据数据表绑定RadioButtonList控件
/// </summary>
/// <param name="dt">数据表</param>
/// <param name="TextField">选项名称列编码</param>
/// <param name="ValueField">选项值列编码</param>
/// <param name="ListName">空值显示文本,若为空则无空值选项</param>
public static void BindDropDownList(DropDownList dlist, DataTable dt, string TextField, string ValueField, string EmptyValueText)
{
dlist.Items.Clear();
if (dt != null && dt.Rows.Count > 0)
{
dlist.DataSource = dt;
dlist.DataTextField = TextField;
dlist.DataValueField = ValueField;
dlist.DataBind();
}
if (!String.IsNullOrEmpty(EmptyValueText))
{
dlist.Items.Insert(0, new ListItem(EmptyValueText, ""));
}
}
#endregion
#region ListBox
/// <summary>
/// 根据数据表绑定ListBox控件
/// </summary>
/// <param name="dt">数据表</param>
/// <param name="TextField">选项名称列编码</param>
/// <param name="ValueField">选项值列编码</param>
public static void BindListBox(ListBox lbox, DataTable dt, string TextField, string ValueField)
{
lbox.Items.Clear();
if (dt != null && dt.Rows.Count > 0)
{
lbox.DataSource = dt;
lbox.DataTextField = TextField;
lbox.DataValueField = ValueField;
lbox.DataBind();
}
}
/// <summary>
/// 根据选项文本查找并选中ListBox选项
/// </summary>
/// <param name="lbox">ListBox</param>
/// <param name="strValue">选项显示的文本</param>
public static void FindAndFixItemByText(ListBox lbox, string strValue)
{
int count = lbox.Items.Count;
int index = lbox.SelectedIndex;
if (count > 0)
{
int i = index + 1;
for (; i < count; i++)
{
ListItem li = lbox.Items[i];
if (li.Text.Contains(strValue))
{
lbox.SelectedIndex = i;
break;
}
if (index > 0 && i == count - 1)
{
count = index;
i = 0;
index = 0;
}
}
}
}
#endregion
#region TreeView 2013-08-12
/// <summary>
/// 展开指定节点的所有上级节点
/// </summary>
public static void ExpandAllParentNode(TreeNode tn)
{
if (tn.Parent != null)
{
tn.Parent.Expand();
ExpandAllParentNode(tn.Parent);
}
}
/// <summary>
/// 清空TreeView节点选中状态
/// </summary>
public static void ClearTreeNodesChecked(TreeView tview)
{
if (tview.Nodes.Count > 0)
{
foreach (TreeNode tn in tview.Nodes)
{
ClearTreeNodesChecked(tn);
}
}
}
/// <summary>
/// 清空子节点选中状态
/// </summary>
public static void ClearTreeNodesChecked(TreeNode tn)
{
if (tn != null)
{
tn.Checked = false;
if (tn.ChildNodes.Count > 0)
{
foreach (TreeNode child in tn.ChildNodes)
{
ClearTreeNodesChecked(child);
}
}
}
}
/// <summary>
/// 根据节点Value值查找节点
/// </summary>
/// <param name="tnParent">根节点</param>
/// <param name="strValue">节点值</param>
public static TreeNode FindNodeByValue(TreeNode tnParent, string strValue)
{
if (tnParent == null)
return null;
if (tnParent.Value == strValue)
return tnParent;
TreeNode tnRet = null;
foreach (TreeNode tn in tnParent.ChildNodes)
{
tnRet = FindNodeByValue(tn, strValue);
if (tnRet != null) break;
}
return tnRet;
}
/// <summary>
/// 根据节点Value值查找节点
/// </summary>
/// <param name="tview">TreeView</param>
/// <param name="strValue">节点值</param>
public static TreeNode FindNodeByValue(TreeView tview, string strValue)
{
if (tview.Nodes.Count == 0)
return null;
TreeNode tnRet = null;
foreach (TreeNode tn in tview.Nodes)
{
tnRet = FindNodeByValue(tn, strValue);
if (tnRet != null) break;
}
return tnRet;
}
/// <summary>
/// 根据节点Value值查找指定层级的节点
/// </summary>
/// <param name="tnParent">根节点</param>
/// <param name="depth">节点层级</param>
/// <param name="strValue">节点值</param>
public static TreeNode FindNodeByValue(TreeNode tnParent, int depth, string strValue)
{
if (tnParent == null)
return null;
if (tnParent.Value == strValue && tnParent.Depth == depth)
return tnParent;
TreeNode tnRet = null;
if (tnParent.Depth < depth)//不去查找更深层次的节点
{
foreach (TreeNode tn in tnParent.ChildNodes)
{
tnRet = FindNodeByValue(tn, depth, strValue);
if (tnRet != null) break;
}
}
return tnRet;
}
/// <summary>
/// 根据节点Value值查找指定层级的节点
/// </summary>
/// <param name="tview">TreeView</param>
/// <param name="depth">节点层级</param>
/// <param name="strValue">节点值</param>
public static TreeNode FindNodeByValue(TreeView tview, int depth, string strValue)
{
if (tview.Nodes.Count == 0)
return null;
TreeNode tnRet = null;
foreach (TreeNode tn in tview.Nodes)
{
tnRet = FindNodeByValue(tn, depth, strValue);
if (tnRet != null) break;
}
return tnRet;
}
/// <summary>
/// 根据节点显示名称查找节点
/// </summary>
/// <param name="tnParent">根节点</param>
/// <param name="strValue">节点显示名称</param>
public static TreeNode FindNodeByText(TreeNode tnParent, string strValue)
{
if (tnParent == null)
return null;
if (tnParent.Text == strValue)
return tnParent;
TreeNode tnRet = null;
foreach (TreeNode tn in tnParent.ChildNodes)
{
tnRet = FindNodeByText(tn, strValue);
if (tnRet != null) break;
}
return tnRet;
}
/// <summary>
/// 根据节点显示名称查找节点
/// </summary>
/// <param name="tview">TreeView</param>
/// <param name="strValue">节点显示名称</param>
public static TreeNode FindNodeByText(TreeView tview, string strValue)
{
if (tview.Nodes.Count == 0)
return null;
TreeNode tnRet = null;
foreach (TreeNode tn in tview.Nodes)
{
tnRet = FindNodeByText(tn, strValue);
if (tnRet != null) break;
}
return tnRet;
}
/// <summary>
/// 根据节点显示名称查找指定层级的节点
/// </summary>
/// <param name="tnParent">根节点</param>
/// <param name="depth">节点层级</param>
/// <param name="strValue">节点显示名称</param>
public static TreeNode FindNodeByText(TreeNode tnParent, int depth, string strValue)
{
if (tnParent == null)
return null;
if (tnParent.Text == strValue && tnParent.Depth == depth)
return tnParent;
TreeNode tnRet = null;
if (tnParent.Depth < depth)//不去查找更深层级的节点
{
foreach (TreeNode tn in tnParent.ChildNodes)
{
tnRet = FindNodeByText(tn, depth, strValue);
if (tnRet != null) break;
}
}
return tnRet;
}
/// <summary>
/// 根据节点显示名称查找指定层级的节点
/// </summary>
/// <param name="tview">TreeView</param>
/// <param name="depth">节点层级</param>
/// <param name="strValue">节点显示名称</param>
public static TreeNode FindNodeByText(TreeView tview, int depth, string strValue)
{
if (tview.Nodes.Count == 0)
return null;
TreeNode tnRet = null;
foreach (TreeNode tn in tview.Nodes)
{
tnRet = FindNodeByText(tn, depth, strValue);
if (tnRet != null) break;
}
return tnRet;
}
/// <summary>
/// 根据节点Value值选中指定层级的节点
/// </summary>
/// <param name="depth">节点层级</param>
/// <param name="strValue">节点值</param>
public static TreeNode CheckNodeByValue(TreeView tview, int depth, string strValue)
{
TreeNode tn = FindNodeByValue(tview, depth, strValue);
if (tn != null)
{
tn.Checked = true;
}
return tn;
}
/// <summary>
/// 根据节点显示名称选中指定层级的节点
/// </summary>
/// <param name="tview">TreeView</param>
/// <param name="depth">节点层级</param>
/// <param name="strValue">节点显示名称</param>
public static TreeNode CheckNodeByText(TreeView tview, int depth, string strValue)
{
TreeNode tn = FindNodeByText(tview, depth, strValue);
if (tn != null)
{
tn.Checked = true;
}
return tn;
}
/// <summary>
/// 根据节点Value值查找并选定节点
/// </summary>
/// <param name="strValue">节点值</param>
public static TreeNode FixNodeByValue(TreeView tview, string strValue)
{
TreeNode tn = FindNodeByValue(tview, strValue);
if (tn != null)
{
ExpandAllParentNode(tn);
tn.Select();
}
return tn;
}
/// <summary>
/// 根据节点显示名称查找并选定节点
/// </summary>
/// <param name="tview">TreeView</param>
/// <param name="strValue">节点显示名称</param>
public static TreeNode FixNodeByText(TreeView tview, string strValue)
{
TreeNode tn = FindNodeByText(tview, strValue);
if (tn != null)
{
ExpandAllParentNode(tn);
tn.Select();
}
return tn;
}
/// <summary>
/// 展开第一序列节点并选中最底层节点
/// </summary>
/// <param name="root">根节点</param>
/// <param name="tview">tview</param>
public static void ExpandFirstsNode(TreeNode root, TreeView tview)
{
if (root.ChildNodes.Count > 0)
{
ExpandFirstsNode(root.ChildNodes[0], tview);
}
else
{
root.Select();
}
}
/// <summary>
/// 展开第一序列节点并选中最底层节点
/// </summary>
public static void ExpandFirstsNode(TreeView tview)
{
if (tview.Nodes.Count > 0)
{
ExpandFirstsNode(tview.Nodes[0], tview);
}
}
#endregion

#endregion
#region html控件方法

#region select
/// <summary>
/// 获取下拉选项htm
/// </summary>
/// <param name="dt">数据集</param>
/// <param name="valueField">选项值字段</param>
/// <param name="textField">选项文本字段</param>
/// <param name="emptyText">空值文本,若为空则无空值选项</param>
public static string GetSelectOptionHtm(DataTable dt, string valueField, string textField, string emptyText)
{
string htm = String.Empty;
if (!String.IsNullOrEmpty(emptyText))
{
htm += "<option value=\"\">" + emptyText + "</option>\r\n";
}
if (dt != null)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
htm += "<option value=\"" + dt.Rows[i][valueField] + "\">" + dt.Rows[i][textField] + "</option>\r\n";
}
}
return htm;
}
/// <summary>
/// 绑定下拉列表(runat=‘server‘的select)
/// </summary>
/// <param name="dt">数据集</param>
/// <param name="valueField">选项值字段</param>
/// <param name="textField">选项文本字段</param>
/// <param name="emptyText">空值文本,若为空则无空值选项</param>
public static void BindSelectList(DataTable dt,HtmlSelect select,string valueField,string textField,string emptyText)
{
select.Items.Clear();
if (dt != null && dt.Rows.Count > 0)
{
select.DataSource = dt;
select.DataValueField = valueField;
select.DataTextField = textField;
select.DataBind();
}
if (!String.IsNullOrEmpty(emptyText))
{
select.Items.Insert(0, new System.Web.UI.WebControls.ListItem(emptyText, ""));
}
}
#endregion

#endregion
}
}

B/S项目常用方法

时间: 2024-10-30 10:52:31

asp.net中的WebFrom的相关文章

asp.ne中使用ajax和controller进行通信问题记录

为了页面显示和后端处理分离,使用了html+ajax+mvc的形式进行处理. 在这其中遇到的问题记录: 1. 在使用ajax向controller请求数据的时候,"get"方法会缓存上一次的请求,导致controller方法不能被debug跟踪到,开始以为是vs出错了,到后来才搞清楚. 解决方法:请求controller路径时加上随机数,或者使用"post"方法. 2. 在使用"POST"方法时,IE11要小心处理,因为ie会出现怎么都执行不了的

ASP.NET中的几种分页

1.通过DataGrid控件实现分页 ASP.NET中的DataGrid控件自带了分页功能,当绑定了DataGrid的数据源之后,须要对DataGrid控件进行一些设置: 左击控件右上角的小箭头→属性生成器: 选择左边的[分页]选项卡 选中[同意分页].[页大小]表示一页显示多少条数据:导航button的[位置]有顶.底.上下型三种选择.[模式]有页码和"上一页.下一页button".假设选择了页码模式.[数值button]表示最多显示的button数量,假设选择了还有一种模式,&qu

asp.net中session的原理及应用

Session简介丶特性 1.Session是一种Web会话中的常用状态之一. 2.Session提供了一种把信息保存在服务器内存中的方式.他能储存任何数据类型,包含自定义对象. 3.每个客户端的Seesion是独立存储的. 4.在整个会话过程中,只要SessionID的cookie不丢失,都会保存Session信息的. 5.Session不能跨进程访问,只能由该会话的用户访问.应为提取Session数据的id标识是以Cookie的方式保存到访问者浏览器的缓存里的. 6.当会话终止,或过期时,服

asp.net中javascript与后台c#交互

asp.net中javascript与后台c#交互 作者:熊猫大叔 字体:[增加 减小] 类型:转载 时间:2015-10-23我要评论,出处:http://www.jb51.net/article/73793.htm 这篇文章主要介绍了asp.net中javascript与后台c#交互,需要的朋友可以参考下 最近做一个小项目,网页中嵌入google maps,输入经纬度坐标可以定位地图位置并加注标记,点击标记获取远端摄像头数据并在视频窗口实现播放.在实际操作过程中,由于经纬度数据和视频登录的用

ASP.NET中Session的sessionState 4种mode模式

1. sessionState的4种mode模式 在ASP.NET中Session的sessionState的4中mode模式:Off.InProc.StateServer及SqlServer. 2. Off模式 <sessionState mode="Off"></sessionState> 关闭模式,即不需要使用Session. 单个页面关闭Session: <%@ Page EnableSessionState="false" %

ASP.NET中常用的优化性能的方法

1. 数据库访问性能优化  数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求. 连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完

ASP.NET中的&lt;%%&gt;介绍

一.主要用于ASP.NET前台绑定用的最多: <%#Eval("")%> <%#Bind("")%> <%=变量%> 1.<%#Eval("数据列")%>主要用于需要进行更改的数据列 如:需要将<%Eval("性别")%>=1:将1转换成女. 首先在.CS文件中定义一个方法: 1 public object ChangeSex(object obj) 2 { 3 if

ASP.NET中Cookie跨域的问题及解决代码

ASP.NET中Cookie跨域的问题及解决代码 http://www.liyumei.net.cn/post/share18.html Cookies揭秘  http://www.cnblogs.com/zhangziqiu/archive/2009/08/06/cookies-javascript-aspnet.html 最近在项目开发中遇到一个很棘手的问题,一个用户在顶级域名登录后,跳转到自己所拥有的二级域名下管理二级网站时,cookie丢失了,一直找解决办法找了整整两天,百度谷歌一大堆,

ASP.NET中引用dll“找不到指定模块&quot;的完美解决办法 z

DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息.DllImport属性应用于方法,要求最少要提供包含入口点的dll的名称.DllImport的定义如下: [AttributeUsage(AttributeTargets.Method)] public class DllImportAttribute: System.Attribute { public DllImportAttribute