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;
}
{
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;
}
那样写可以吗,我的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
{
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"