一个Object对像 
他可能是Button 
也可能是 ImageButton 
也可能是 LinkButton 
我要怎么知道他是哪一种呢
谢谢
void GetBtn(Object obj)
{
   这里判断Object是哪一种控件
}

解决方案 »

  1.   

    void GetBtn(Object obj)
        {
            Response.Write(obj.GetType());
        }
      

  2.   

    如果就三种按钮,下面虽然麻烦点,也可将就用
        void GetBtn(Object obj)
        {
            Button b1 = obj as Button;
            if (b1 != null)
            { 
                //做你要做的事
            }
            LinkButton b2 = obj as LinkButton;
            if (b2 != null)
            {
                //做你要做的事
            }
            ImageButton b3 = obj as ImageButton;
            if (b3 != null)
            {
                //做你要做的事
            }
        }
      

  3.   

    象这样的if (obj.GetType() == typeof(ImageButton))
    {
    //...
    }
    else if (obj.GetType() == typeof(LinkButton))
    {
     //..
    }往往表示有某种多态的情形,也许应该考虑重新设计,把多重if或者switch转换成对多态对象的调用
      

  4.   

    把多重if或者switch转换成对多态对象的调用
    不懂耶
      

  5.   

    switch(sender.GetType().Name)
    {
    case "Button":
    blablabla;
    break;
    case "LinkButton":
    blablabla;
    break;
    case "LinkButton":
    blablabla;
    break;
    case "ImageButton":
    blablablabla;
    break;
    }Name也就够了,不过还是FullName保险点,免得和一些第三方控件或自定义控件冲突
      

  6.   

    protected void button_click(object sender,EventArgs e)
    {
        if(object is LinkButton)
        {
             Response.write("这是个链接按钮...");
        }
        else if ...
    }