日期:2014-05-17  浏览次数:20469 次

如何遍历一个页面上的所有textbox控件
现在我的页面上有50个textbox:txba,txbb,txb2,txbaay....
我怎么遍历出全部的textbox并设置他为只读?
------最佳解决方案--------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org啊/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form runat="server" id="form1">
    
   <asp:TextBox ID="txt"  runat="server" />
   <asp:TextBox ID="TextBox1"  runat="server" />
   <asp:TextBox ID="TextBox2"  runat="server" />
   <asp:TextBox ID="TextBox3"  runat="server" />
   <asp:TextBox ID="TextBox4"  runat="server" />
   <asp:TextBox ID="TextBox5"  runat="server" />
   <asp:TextBox ID="TextBox6"  runat="server" />
   <asp:TextBox ID="TextBox7"  runat="server" />
    </form>
</body>
</html>


using System;
using System.Collections.Generic;
using System.Data;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        foreach (Control item in form1.Controls)
        {
            if (item is TextBox)
            {
                ((TextBox)item).ReadOnly = true;
            }
        }
    }
}

------其他解决方案--------------------
for(int i=0;i<10;i++)
{
TextBox txt=this.FindControls("txt"+i) as TextBox;
 if(txt!=null){}
}
------其他解决方案--------------------
foreach (Control c in this.form1.Controls)
            {
                if (c is TextBox)
                {
                   ((TextBox) c).Enabled = false;
                    
                }
     &n