asp.net 如何批量设置textbox为只读?

来源:百度知道 编辑:UC知道 时间:2024/07/08 17:39:34
我在页面有个判断,如果为真,则该页所有TextBox的ReadOnly为True,怎么设置呢,我已经会遍历所有TextBox了,但是就是不能设置ReadOnly属性!
UpdatePanel里面可以吗,我发现是放在这种Panel里面,而不是普通的Panel哦

//如果你的textBox都在页面上而不是放在一个panel中的话,就这样:
public void SetReadOnly()
{
foreach(Control control in this.Controls)
{
try
{
((TextBox)control).ReadyOnly=true;
}
catch(Exception ex)
{continue;}
}
}

//如果是TextBox在一个panel里,就这样
public void SetReadOnly(Panel panel)//这里要把TextBox所在的面板对象传进来
{
foreach(Control control in panel.Controls)
{
try
{
((TextBox)control).ReadyOnly=true;
}
catch(Exception ex)
{continue;}
}
}

for(int i=1;i<=10;i++)
{
TextBox t = this.FindControl("Textbox" + i.ToString()) as TextBox;
t.ReadOnly = true;
}

比如是 10个 textbox,将它们的命名设置为Textbox1,Textbox2...Textbox10,这样做就OK了

把textbox放到一个层里面,如果为真,那么直接隐藏层,这样又简单又消耗更少的资源。

既然