Asp.net 为按钮创建自定义控件

Asp.net 为按钮创建自定义控件,asp.net,button,controls,visible,Asp.net,Button,Controls,Visible,我想为按钮创建一个自定义控件。但是,我可以覆盖按钮的可见性吗 例如,如果用户的访问级别为false,则它将隐藏按钮 这是我的代码 public override void Visible() {//Get access right from session blcAccessLevel accessLevel = (blcAccessLevel)HttpContext.Current.Session[gbcAccessLevel.sessionAcl]; if

我想为按钮创建一个自定义控件。但是,我可以覆盖按钮的可见性吗

例如,如果用户的访问级别为
false
,则它将隐藏按钮

这是我的代码

 public override void Visible()
   {//Get access right from session
       blcAccessLevel accessLevel = (blcAccessLevel)HttpContext.Current.Session[gbcAccessLevel.sessionAcl];
       if (accessLevel.Read_Access == true)
       {
           base.Visible = true;//error occu
       }
       else
       {
           base.Visible = false;
       }
   }

它返回错误。错误'blcCustomControl.cusAclReadButton.Visible()':无法重写,因为'System.Web.UI.Control.Visible'不是一个函数。顺便问一下,我应该实现get set方法吗?

如果
Visible
是一个属性,那么是的,您需要将其作为属性重写,重写setter和getter…(虽然这并不意味着它适用于ASP.NET控件)因此,首先学习C#basics。我不知道您试图重写的
Visible()
方法是什么。没有这样的方法可以从基类重写。另外,在调用
this.Visible=true时发布您得到的错误您好,我想覆盖按钮的可见部分,Mayb tje visible()方法错误。nid应该调用什么方法?@user998405:
Visible
是一个属性,不是一个方法,但我知道您要做什么。张贴调用
base.Visible=true时出现的错误//出现错误
。不清楚您为什么会在那里出错,而且您没有提供错误详细信息,这对自己没有太大帮助。@user998405:看看Rob的答案。这就是你需要做的。
  public class MyButton : Button
{
    public new bool Visible
    {
        get
        {
            return (blcAccessLevel)HttpContext.Current.Session[gbcAccessLevel.sessionAcl].ReadAccess;

        }
    }
}