作业帮 > ASP.NET > 教育资讯

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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 02:14:10 ASP.NET
ASP.NET教程:ASP.NET中遍历页面所有的控件
ASP.NET教程:ASP.NET中遍历页面所有的控件ASP.NET
【51-ASP.NET教程:ASP.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 = ;

}

}

}

}

ASP.NET