我有一个标签和一个按钮,当我按下按钮时,标签会发生变化。 现在为了继续我需要能够从另一个类访问标签。我试图在aspx.designer.cs文件中将定义更改为public static但是当我这样做时,在停止工作之前更改标签的按钮 - 我得到一个null异常。我试图初始化标签,但我找不到合适的地方。在类中创建一个静态方法,它将改变标签的文本也不起作用,因为我无法在静态方法中更改非静态变量。 如何在不获取null异常或影响有效按钮的情况下从其他类访问标签?
答案 0 :(得分:0)
从UserControl或WebControl,您可以使用this.Page
访问该网页:
//From the Control File:
this.Page.TheLabel.Text = "blah";
只需确保标签是公共的或您有一个getter,并且您不在HttpContext中(不在静态方法中)。
FIY,使标签在页面中保持静态意味着所有页面实例共享的标签上只有一个实例。我怀疑那是你想要的。
答案 1 :(得分:0)
更好的是,您可以向Web控件添加公共属性。将标签值分配给公共属性,并在任何其他位置使用它。最好不要直接从其他文件访问标签值