switch(o.GetType().ToString())
{
  case "System.Web.UI.WebControls.TextBox" :
     Response.Write("It is a TextBox");
     break;
  case "System.Web.UI.WebControls.Label" :
     Response.Write("It is a Label");
     break;
}

解决方案 »

  1.   

    To icyer(),
    那样写可以吗,我的WEB FORM中有一个ASP:LABEL和一个ASP:TEXTBOX
    加上WEB FORM本身,GetType()返回如下System.Web.UI.ResourceBasedLiteralControl
    System.Web.UI.HtmlControls.HtmlForm
    System.Web.UI.LiteralControl并没有
    System.Web.UI.WebControls.TextBox和System.Web.UI.WebControls.Label我的源码(VB.NET)如下:
    Public Class Test2
        Inherits System.Web.UI.Page
        Protected WithEvents lblTest As System.Web.UI.WebControls.Label
        Protected WithEvents txtTest As System.Web.UI.WebControls.TextBox    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
           
            Dim objTemp        For Each objTemp In Page.Controls
                Response.Write(objTemp.GetType().ToString() & "<BR>")
            Next
        End SubEnd Class
      

  2.   

    switch(o.GetType().ToString())
    {
      case "System.Web.UI.WebControls.TextBox" :
         Response.Write("It is a TextBox");
         break;
      case "System.Web.UI.WebControls.Label" :
         Response.Write("It is a Label");
         break;
    }
    不行?result:   "System.Web.UI.ResourceBasedLiteralControl"