0

我有一个标签和一个按钮,当我按下按钮时,标签会发生变化。现在为了继续,我需要能够从另一个类访问标签。我试图在 aspx.designer.cs 文件中将定义更改为公共静态,但是当我这样做时,在停止工作之前更改标签的按钮 - 我得到一个空异常。我试图初始化标签,但找不到合适的位置。在类中创建一个静态方法,这将改变标签的文本并不能很好地工作,因为我无法在静态方法中更改非静态变量。如何在不出现空异常或影响有效按钮的情况下从另一个类访问标签?

4

2 回答 2

0

更好的是,您可以将公共属性添加到 Web 控件。将标签值分配给公共属性并在任何其他地方使用它。最好不要直接从其他文件访问标签值

于 2013-11-06T04:49:19.800 回答
0

从 UserControl 或 WebControl,您可以通过以下方式访问页面this.Page

//From the Control File:
this.Page.TheLabel.Text = "blah";

只需确保标签是公共的或者您有一个 getter,并且您不在 HttpContext 中(不在静态方法中)。

FIY,使标签在页面中静态意味着标签上只有一个实例,所有页面实例共享。我怀疑这就是你想要的。

于 2013-11-06T01:43:14.817 回答