2012-04-26 75 views
1

我想知道是否有访问到ASP对象后面的代码的方式,但没有自己使用对象?如何访问ASP对象

让说,我有一个ASP页中,我有这样的标签:

<asp:TextBox ID="test" runat="server"></asp:TextBox> 

在我后面的代码我可以访问使用对象:this.test。但我想以其他方式访问它。喜欢的东西:

this.Objects["test"] 

因为我解析其中我有我所有的ASP对象,然后我想要做一些关于它的处理XML文档(可见设置为true ...)

你有什么主意吗 ?

谢谢

找到了答案。我使用SharePoint,所以我必须设置上下文。我不能做

this.FindControls 

,所以我说:

Control context = this.Page.Master.FindControl("PlaceHolderMain"); 

我用:

context.FindControl(); 
+0

你应该从你的问题的答案变成自己的答案移动文本。那么你应该在2天限制后接受你自己的答案。这是标准做法。 – skeletank 2012-04-26 13:08:32

+0

啊,我知道,但我不能回答自己为六下一小时... – 2012-04-26 13:31:09

+0

对不起,我不知道8小时时间限制为用户提供口碑<100自答案(HTTP的://meta.stackexchange。 COM /问题/ 86185 /最小声誉换回答,你自己的问题,应待高比乜是/ 86186#86186)。 – skeletank 2012-04-26 14:04:16

回答

2

You coul d使用:

this.Controls["control"]; 
+0

感谢名单,它的工作原理 – 2012-04-26 11:23:00

+0

嘿,它不工作,你必须使用控件时,使用int指数[] – 2012-04-26 11:54:04

1

当你处理服务器端控制你使用Page.FindControl可以访问它们( controlName):

this.Page.FindControl("txtPageSam").Visible = false; 
+0

实际上它不起作用。 它返回null 是否有可能是因为我使用多视点? – 2012-04-26 11:52:31

1
((TextBox) this.FindControl("test")).Visible = true; 
+0

嘿,它返回null,我... – 2012-04-26 11:56:06

+0

如果你的文本框里面的一些其他控件,你必须使用该控件的Findcontrol方法。在页面lavel文本框不能被id“test”识别。 – userGS 2012-04-26 12:32:48

+0

是的谢谢,我更新了我的问题,我找到了答案;) – 2012-04-26 12:48:39