遍历页面控件的几种方法
来源:互联网 发布:手机拦截广告软件 编辑:程序博客网 时间:2024/06/14 04:04
方法一:javascript法
function btnClear()
{
for(i=0;i<document.forms[0].elements.length;i++)
{
e=document.forms[0].elements[i];
if(e.type=='text'||e.type=='textarea')
{
e.value="";
}
}
return false;
}
在Onclick OnFocus OnLoad等事件中引用就行
方法二:Foreach遍历
foreach(Control ctl in this.Page.Controls[1].Controls)
{
if(ctl.GetType() == typeof(TextBox))
{
TextBox t = (TextBox) ctl;
t.Text = string.Empty;
}
方法三:
#region 清空指定页面上所有的控件内容,public static void ClearAllContent()
/// <summary>
/// 清空指定页面上所有的控件内容,包括TextBox,CheckBox,CheckBoxList,RadioButton,RadioButtonList。但是不清
/// 除如ListBox,DropDownList,因为这样的控件值对当前页面来说还可以用,一般这些控件里都是保存的字典数据。
/// Author:Kevin
/// 日期:2004-12-02
/// </summary>
/// <param name="page"> 指定的页面</param>
public static void ClearAllContent(System.Web.UI.Control page)
{
int nPageControls = page.Controls.Count;
for (int i = 0; i < nPageControls; i++)
{
foreach (System.Web.UI.Control control in page.Controls[i].Controls)
{
if (control.HasControls())
{
ClearAllText(control);
}
else
{
if (control is TextBox)
(control as TextBox).Text = "";
if (control is CheckBox)
(control as CheckBox).Checked = false;
if (control is RadioButtonList)
(control as RadioButtonList).SelectedIndex = -1;
if (control is RadioButton)
(control as RadioButton).Checked = false;
if (control is CheckBoxList)
{
foreach (ListItem item in (control as CheckBoxList).Items)
{
item.Selected = false;
}
}
}//if..else
}//foreach
}//for
}
#endregion
方法四:
建立一个类,用于存放那些TextBox的name和value ,代码如下:
Public Class UtilityObj
Private _name As String
Private _value As String
Public Sub New(ByVal Name As String, ByVal Value As String)
_name = Name
_value = Value
End Sub
Public Property Name() As String
Get
Return _name
End Get
Set(ByVal Value As String)
_name = Name
End Set
End Property
Public Property Value() As String
Get
Return (_value)
End Get
Set(ByVal Value As String)
_value = Value
End Set
End Property
End Class
这个类包含两个属性:"name" 和 "value",再定义一个公有的Arraylist(oArraylist),用于存储数据。如图:
要实现遍历ASP.NET页面所有的控件,我们还需要定义一个主要的方法。这个方法接收一个Control类型的参数,如果这个参数为textbox,则存储它的 name 和 value。
代码如下:
Public Sub LoopingControls(ByVal oControl As Control)
Dim frmCtrl As Control
oArrayList = New ArrayList
For Each frmCtrl In oControl.Controls
If TypeOf frmCtrl Is TextBox Then
oArrayList.Add(New UtilityObj(frmCtrl.ID, DirectCast(frmCtrl, TextBox).Text))
End If
If frmCtrl.HasControls Then
LoopingControls(frmCtrl)
End If
Next
End Sub
使用上面方法来实现遍历页面所有的控件
LoopingControls(Page)
DataGrid1.DataSource = oArrayList
DataGrid1.DataBind()
function btnClear()
{
for(i=0;i<document.forms[0].elements.length;i++)
{
e=document.forms[0].elements[i];
if(e.type=='text'||e.type=='textarea')
{
e.value="";
}
}
return false;
}
在Onclick OnFocus OnLoad等事件中引用就行
方法二:Foreach遍历
foreach(Control ctl in this.Page.Controls[1].Controls)
{
if(ctl.GetType() == typeof(TextBox))
{
TextBox t = (TextBox) ctl;
t.Text = string.Empty;
}
方法三:
#region 清空指定页面上所有的控件内容,public static void ClearAllContent()
/// <summary>
/// 清空指定页面上所有的控件内容,包括TextBox,CheckBox,CheckBoxList,RadioButton,RadioButtonList。但是不清
/// 除如ListBox,DropDownList,因为这样的控件值对当前页面来说还可以用,一般这些控件里都是保存的字典数据。
/// Author:Kevin
/// 日期:2004-12-02
/// </summary>
/// <param name="page"> 指定的页面</param>
public static void ClearAllContent(System.Web.UI.Control page)
{
int nPageControls = page.Controls.Count;
for (int i = 0; i < nPageControls; i++)
{
foreach (System.Web.UI.Control control in page.Controls[i].Controls)
{
if (control.HasControls())
{
ClearAllText(control);
}
else
{
if (control is TextBox)
(control as TextBox).Text = "";
if (control is CheckBox)
(control as CheckBox).Checked = false;
if (control is RadioButtonList)
(control as RadioButtonList).SelectedIndex = -1;
if (control is RadioButton)
(control as RadioButton).Checked = false;
if (control is CheckBoxList)
{
foreach (ListItem item in (control as CheckBoxList).Items)
{
item.Selected = false;
}
}
}//if..else
}//foreach
}//for
}
#endregion
方法四:
建立一个类,用于存放那些TextBox的name和value ,代码如下:
Public Class UtilityObj
Private _name As String
Private _value As String
Public Sub New(ByVal Name As String, ByVal Value As String)
_name = Name
_value = Value
End Sub
Public Property Name() As String
Get
Return _name
End Get
Set(ByVal Value As String)
_name = Name
End Set
End Property
Public Property Value() As String
Get
Return (_value)
End Get
Set(ByVal Value As String)
_value = Value
End Set
End Property
End Class
这个类包含两个属性:"name" 和 "value",再定义一个公有的Arraylist(oArraylist),用于存储数据。如图:
要实现遍历ASP.NET页面所有的控件,我们还需要定义一个主要的方法。这个方法接收一个Control类型的参数,如果这个参数为textbox,则存储它的 name 和 value。
代码如下:
Public Sub LoopingControls(ByVal oControl As Control)
Dim frmCtrl As Control
oArrayList = New ArrayList
For Each frmCtrl In oControl.Controls
If TypeOf frmCtrl Is TextBox Then
oArrayList.Add(New UtilityObj(frmCtrl.ID, DirectCast(frmCtrl, TextBox).Text))
End If
If frmCtrl.HasControls Then
LoopingControls(frmCtrl)
End If
Next
End Sub
使用上面方法来实现遍历页面所有的控件
LoopingControls(Page)
DataGrid1.DataSource = oArrayList
DataGrid1.DataBind()
- 遍历页面控件的几种方法
- ASP.NET遍历控件的几种方法
- 用dojo实现页面控件阻塞的几种方法
- 遍历页面控件并设置值的一种方法...
- 遍历Hashtable 的几种方法
- 遍历进程名的几种方法
- 遍历datatable的几种方法
- php遍历目录的几种方法
- C# Dictionary 的几种遍历方法
- C# Dictionary 的几种遍历方法
- 遍历Map的几种方法
- Java 遍历Map的几种方法
- 遍历Map的几种方法
- 遍历Map的几种常用方法
- 遍历python字典的几种方法
- C# Dictionary 的几种遍历方法
- 遍历Map的几种方法《转载》
- 遍历Map的几种方法
- 关于虚拟目录继承根Web.Config的问题解决办法
- 【阶段总结】适配器模式&外观模式
- 如何用vb将计算结果输出到word中?
- 卡尔曼滤波器
- 利用google的接口在网站嵌入搜索
- 遍历页面控件的几种方法
- 利用MPICH2计算矩阵相乘的简单算法
- C# 创建临时文件
- 编译php错误代码configure: error: Try adding --with-zlib-dir=. Please check config.log for more information.
- 樱花大战常见问题解答
- 8种人将被淘汰,你在里面吗?
- 给文本框添加水印效果
- 每个java初学者都应该搞懂的问题!
- 几行代码轻松搞定网页的简繁转换