c# - 查找文本框控件

标签 c# asp.net

在我的应用程序中,我有 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/

相关文章:

c# - C# 连接FTP服务器时出现 "This server requires encryption"

c# - 在 Silverlight 应用程序中集成现有的 wcf 项目

c# - 有人可以建议开发团队和 Beta 测试人员之间进行交流的在线解决方案吗

javascript - ASP.Net MVC jQuery 和插件加载顺序错误

html - 模式框的段落文本未使用 css 和 asp.net 在中心对齐

c# - 是否有相当于 TFS 2015 的 "Build 2.0"REST API 的 .NET API?

c# - Xamarin iOS - 基于配置文件的代码

c# - 找不到类型或命名空间名称 'OwinStartupAttribute'

c# - 使用 asp.net core 3.0 时传递有效 token 时,Postman 返回 401 unothorized

c# - 这段代码能确保我从一个套接字中读取我想要的所有内容吗?