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

Tho*_*mas 4 asp.net

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

Mou*_*mit 7

Yes你可以...这样做你只需要遵循basic trick...

First page通过a 继承调用者base page(使用项目的基页总是good practice很有帮助),如下所示...

public abstract class BasePage : Page
{
  public StateBag ViewState
  {             
     get
       {
          return base.ViewState;
       }
  }
}
Run Code Online (Sandbox Code Playgroud)

Later你可以从usercontrol........ 打电话给这家酒店.

var CallerPage = this.Page as BasePage;
if (CallerPage!=null)
{
  var CallerPageViewState = CallerPage.ViewState;
  //Do your rest job
}
Run Code Online (Sandbox Code Playgroud)


Fré*_*idi 5

该类的ViewState属性Page是protected。因此,除非您愿意通过使用反射来打破封装,否则无法从用户控件访问它。