ASP.NET从UserControl(ASCX)调用(ASPX)中的方法?

时间:2011-10-18 16:25:09

标签: asp.net call master-pages

得到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)

1 个答案:

答案 0 :(得分:4)

Default defaultPage = new Default();会创建一个新的网页实例,这不是您想要的。

从您的用户控件中,您可以执行以下操作:

((Default)Page).DoSomething();

或者为了安全并确保Page是Default类型,因为用户控件可能存在于许多不同的页面上(这可能不是最好的主意)。

Default p = Page as Default;
if( p != null )
    p.DoSomething();