2011-12-23 9 views
0

ボタンのカスタムコントロールを作成したいと思います。しかし、私はボタンの可視性をオーバーライドすることができますか?ボタンのカスタムコントロールを作成する

たとえば、ユーザーのアクセスレベルがfalseの場合、ボタンは非表示になります。 'System.Web.UI.Control.Visibleが' ではないので、オーバーライドすることはできません。ここで

は、私はそれはerror.Error 'blcCustomControl.cusAclReadButton.Visible()' 私を返す

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; 
     } 
    } 

をコード化されました関数ところで、私はget setメソッドを実装する必要がありますか?

+0

'Visible'がプロパティで* yes *の場合、setterとgetterをオーバーライドするプロパティとしてオーバーライドする必要があります(これはASP.NETコントロールでは機能しませんが最初にC#の基本を学びます。 –

+0

私はどのVisible()メソッドをオーバーライドしようとしているのか分かりません。基本クラスからオーバーライドする方法はありません。また、 'this.Visible = true; 'を呼び出すとエラーが出ます。 – Icarus

+0

こんにちは、私はボタンの表示をオーバーライドしたい、Mayb tje Visible()メソッドが間違っています。どのメソッドを呼び出す必要はありませんか? – user998405

答えて

1
public class MyButton : Button 
{ 
    public new bool Visible 
    { 
     get 
     { 
      return (blcAccessLevel)HttpContext.Current.Session[gbcAccessLevel.sessionAcl].ReadAccess; 

     } 
    } 
} 
関連する問題