ASP.NET中遍历页面所有的控件_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > ASP.NET中遍历页面所有的控件

ASP.NET中遍历页面所有的控件

 2013/8/5 11:09:20  蒋叶湖  博客园  我要评论(0)
  • 摘要:在我们的系统的开发过程中,经常遇到这样的问题,页面的控件很多,我们希望通过遍历的方法控制这些控件。举一个简单例子,判断页面所有的TextBox按钮是否为空,或者将全部的TextBox清空等。这样就要想办法去获得这些控件。下面便是代码的实例,相信大家一看就懂。这个就是用户验证页面所有的RadioButtonList是否进行了选择的代码:/**////summary///验证填写信息////summaryprivatevoidValidateField(){for(inti=0;iPage
  • 标签:.net ASP.NET net 遍历 控件
在我们的系统的开发过程中,经常遇到这样的问题,页面的控件很多,我们希望通过遍历的方法控制这些控件。举一个简单例子,判断页面所有的TextBox按钮是否为空,或者将全部的TextBox清空等。这样就要想办法去获得这些控件。下面便是代码的实例,相信大家一看就懂。

这个就是用户验证页面所有的RadioButtonList是否进行了选择的代码:

/**//// summary

/// 验证填写信息

/// /summary

private void ValidateField()

{

for(int i=0;iPage.Controls.Count;i++)

{

foreach (System.Web.UI.Control control in Page.Controls[i].Controls)

{

if (control is RadioButtonList)

{

if (String.IsNullOrEmpty((control as RadioButtonList).SelectedValue))

{

Bmc.CLUtility.ShowMessage(this.Page, 一些像没有填写);

return;

}

}

}

}

}

如果你的页面还包含Panel、DataList、GridView等这样的控件容器,你可以使用递归调用【尽管性能不高】:

Code

/**//// summary

/// 验证填写信息

/// /summary

private void ValidateField()

{

for (int i = 0; i Page.Controls.Count; i++)

{

ValidateField(Page.Controls[i].Controls);

}

}

/**//// summary

/// 验证控件集

/// /summary

/// param name=cc/param

private void ValidateField(ControlCollection cc)

{

foreach (System.Web.UI.Control control in cc)

{

if (control is RadioButtonList)

{

if (String.IsNullOrEmpty((control as RadioButtonList).SelectedValue))

{

Bmc.CLUtility.ShowMessage(this.Page, 一些像没有填写);

return;

}

}

if (control is CheckBoxList)

{

if (String.IsNullOrEmpty((control as CheckBoxList).SelectedValue))

{

Bmc.CLUtility.ShowMessage(this.Page, 一些像没有填写);

return;

}

}

if (control.HasControls())

{

ValidateField(control.Controls);

}

}

}

类似的,我们可以清空页面上所有的TextBox

清空所有框Code

/**//// summary

/// 清空所有框

/// /summary

private void ClearAllTextBox()

{

for (int i = 0; i Page.Controls.Count; i++)

{

foreach (System.Web.UI.Control control in Page.Controls[i].Controls)

{

if (control is TextBox)

{

(control as TextBox).Text = ;

}

}

}

}

发表评论
用户名: 匿名