用GetType,能个一个参考吗?完整一点.....谢谢了!

解决方案 »

  1.   

    dim ctl as control
    if ctl.GetType()="TextBox" then .. End if
      

  2.   

    先用循环或递归遍历页面上的所有控件,找到以后进行判断。
    foreach(Control c in Page.Controls)//具体递归部分就不写了
    {
      if(c is TextBox)
      {
        //如果找到TextBox的话;
      }
    }
      

  3.   

    dim tpControl as WebControl
    for each tpControl in Page.Controls
      if tpControl is TextBox Then
          //如果找到TextBox的话;
      end if
    next
      

  4.   

    ctl.GetType()和一个字符串“TextBox”能比较吗?我用C#试了一下,不行啊!
      

  5.   

    对不起,改正如下:
    Dim tpControl As WebControl
    For Each tpControl In Page.Controls
        If TypeName(tpControl) = "TextBox" Then
           '如果找到TextBox的话;
        End If
    Next
      

  6.   

    C#中没有TypeName函数,应该用typeof.foreach(Control c in Page.Controls)//具体递归部分就不写了
    {
      if(typeof(c).ToString() is "TextBox")
      {
        //如果找到TextBox的话;
      }
    }
    "TextBox"可能要写上前缀,可以在“if(typeof(c).ToString() is "TextBox")
    ”上设个断点,查看一下typeof(c).ToString()是个什么?
      

  7.   

    问:  就算找到了textbox空间,我想把每个textbox控件的ID属性显示出来,应该怎么办呢?
      

  8.   

    foreach(Control c in Page.Controls)//具体递归部分就不写了
    {
      if(c.GetType().ToString()=="System.Web.UI.WebControls.TextBox")
      {
        //如果找到TextBox的话;
          System.Reflection.MemberInfo info = typeof(c);
          object[] attributes = info.GetCustomAttributes(true);
          for (int i = 0; i < attributes.Length; i ++)
          {
             Response.Write(attributes[i]);
          }
      }
    }
      

  9.   

    sorry,理解错误.foreach(Control c in Page.Controls)
    {
      if(c.GetType().ToString()=="System.Web.UI.WebControls.TextBox")
      {
          Response.write((TextBox)(c).ID.ToString();)
      }
    }