在尝试访问控制的 cs 'this' 中使用 时出错



我有一个名为test.aspx的带有test.cs的页面。但是,我想访问名为mbResult的控件这是我的自定义消息框控件,来自一个单独的CS页面。我知道很多人都问过这个问题,我发现这是一种访问我的控件的方法。

MessageBoxControl mbox1 = this.FindControl("mbResult") as MessageBoxControl; 

但我总是犯这个错误错误5关键字"this"在静态属性、静态方法或静态字段初始值设定项中无效

任何关于如何访问这个控件的想法,我所要做的就是让它可见。感谢

您需要将代码移动到非共享方法中。您需要在页面的实例中进行操作。

评论中澄清的更新

不幸的是,您的申请需要进行一些重组。

如果messagebox控件显示在新窗口中,则需要在查询字符串中将值从源页面传递到新窗口。

但是,如果希望消息框控件显示在源页面上,则需要将其从页面转换为UserControl,向源页面添加对用户控件的引用,然后直接向源页面中添加用户控件的实例。

Statics没有基于实例的上下文,因此使用this不适用。您需要对要使用.FindControl的控件的引用(可能将其作为参数传递)。

相关内容

最新更新