在我的应用程序中,我有 50 个文本框,我想使用代码找到所有文本框控件,并且我想在进行某些验证后在文本框中执行颜色更改。我怎样才能做到这一点?我使用了以下代码,但它不能正常工作
foreach (Control cntrl in Page.Controls)
{
if (cntrl is TextBox)
{
//Do the operation
}
}
<%@ Page Language="C#"MasterPageFile="~/HomePageMaster.master"AutoEventWireup="true" CodeFile="Default.aspx.cs"Inherits="Default"Title="示例页面"%>
最佳答案
我最近开始以“现代”LINQ 方式进行此操作。首先,您需要一个扩展方法来获取您感兴趣的类型的所有控件:
//Recursively get all the formControls
public static IEnumerable<Control> GetAllControls(this Control parent)
{
foreach (Control control in parent.Controls)
{
yield return control;
foreach (Control descendant in control.GetAllControls())
{
yield return descendant;
}
}
}`
然后你可以在你的网络表单/控件中调用它:
var formCtls = this.GetAllControls().OfType<Checkbox>();
foreach(Checkbox chbx in formCtls){
//做你该做的事 ;)
问候,
5arx
关于c# - 查找文本框控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4438210/