分享

怎么将一个页面的所有控件设置为不可用状态

 复杂网络621 2014-08-19
 如何将一个页面的所有控件设置为不可用状态?
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); 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多