得到Default.aspx
其Codebehind有一个方法:public void DoSomething(){}
Default.aspx
有一个UserControl.ascx
在UserControl.ascx
的Codebehind中,我想从DoSomething()
拨打Default.aspx
,但这不起作用:
Default defaultPage = new Default();
defaultPage.DoSomething();
我怎样才能做到这一点?
(Default.aspx
也是母版页的StartupPage)
答案 0 :(得分:4)
Default defaultPage = new Default();
会创建一个新的网页实例,这不是您想要的。
从您的用户控件中,您可以执行以下操作:
((Default)Page).DoSomething();
或者为了安全并确保Page是Default类型,因为用户控件可能存在于许多不同的页面上(这可能不是最好的主意)。
Default p = Page as Default;
if( p != null )
p.DoSomething();