首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

自定义控件的有关问题.

2012-01-21 
自定义控件的问题..为何我不能动态控制其是否显示呢?比如如果我默认设置为uc.Visable是true然后在PageLoad

自定义控件的问题..
为何我不能动态控制其是否显示呢?

比如如果我默认设置为
uc.Visable是true


然后在PageLoad里面设置:us.Visable   =   false;结果得到的页面上这个控件依然显示在那里,除非我把这个控件放到比如Panel这样的控件里,然后控制Panel...才能正常实现我要的效果..

这是为什么?难道自定义控件就是这样的?

还有div如果设置了runat= "server "的话,同样的方法页不能控制div的显示与否,我就比较奇怪了....

[解决办法]
public override bool Visible { get; set; }

在set中写上逻辑,把要显示的东西去掉或者置空
[解决办法]
/// <summary>
/// 设置控件是否呈现
/// </summary>
public bool Visible
{
get
{
//EnsureChildControls();
return (ViewState[ "AllVisible "] != null ? (bool)ViewState[ "AllVisible "] : true);
}
set
{
ViewState[ "AllVisible "] = value;
}
}

m_ddlArea.Style.Add( "Display ",(this.Visible == true ? " " : "none "));

热点排行