从用户控件访问父页面ViewState?

时间:2011-04-20 08:25:12

标签: asp.net

有没有办法从用户控件访问父页面ViewState。

3 个答案:

答案 0 :(得分:7)

Yes你可以......为此你只需要关注basic trick ..

First 通过page继承来电者base page(使用项目的基页总是good practice,这对以后很有用)如下...

public abstract class BasePage : Page
{
  public StateBag ViewState
  {             
     get
       {
          return base.ViewState;
       }
  }
}

Later您可以从usercontrol ........

调用此属性
var CallerPage = this.Page as BasePage;
if (CallerPage!=null)
{
  var CallerPageViewState = CallerPage.ViewState;
  //Do your rest job
}

答案 1 :(得分:4)

Page类的ViewState属性为protected。因此,除非您愿意使用reflection打破封装,否则无法从用户控件访问它。

答案 2 :(得分:0)

一句话没有。取决于你想要做什么,虽然可能有另一种方式来做你想要实现的目标

有关您希望实现的目标的更多信息将有助于人们更全面地回答您的问题