如何将一个页面的所有控件设置为不可用状态? 1.如何将一个页面的所有控件设置为不可用状态,并且这些控件还是可见的。也就是说我不想让别人编辑但是可以然别人观看。 我用的如下的方法好像不行啊: protected void Page_Load(object sender, EventArgs e) { foreach (Control c in this.Controls) { if(c is WebControl) (c as WebControl).Enabled = false; } } 大家给我检查下,是什么地方出了问题啊。 2.还有另一个问题:有关页面的生命周期和控件的生命周期的一个问题,我自己制作了一个用户控件保存在a.ascx中,我又在b.aspx页面中加载它(b.aspx中创建了一个a.ascx类型的控件c),并且想在b.aspx页面的Page_Load事件中从数据库中读取数据,把读出来的数据加载到我的自定义控件c中。我弄的好像不行。是怎么回事这是? ------解决方案-------------------- void DisableAllControl(Control c) { if(c is WebControl) ((WebControl)c).Enabled = false; if(c.HasControls() == false;) { return; } foreach(Control child in c.Controls) { DisableAllControl(child); } } DisableAllControl(this); |
|