2011-10-18 104 views
2

有一個Default.aspxASP.NET在UserControl(ASCX)中調用(ASPX)中的方法?

其代碼隱藏有一個方法:public void DoSomething(){}

Default.aspx已經得到了UserControl.ascx

在我UserControl.ascx我想我DoSomething()Default.aspx調用代碼隱藏,但是這並未」 t works:

Default defaultPage = new Default(); 
defaultPage.DoSomething(); 

我該如何做到這一點? (Default.aspx也是主頁的StartupPage)

回答

4

Default defaultPage = new Default();會創建一個新的頁面實例,這不是你想要的。

從你的用戶控件,你可以做這樣的事情:

((Default)Page).DoSomething(); 

或者是安全的,並確保該網頁的類型是默認的,因爲用戶控制可以在許多不同的頁面(這就是爲什麼可能不是最好的主意)。

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

thx,你能告訴我怎麼從MASTERPAGE.Site中調用一個方法,例如Default.aspx? – eMi

+0

類似的語法((MasterType)this.Master).Method() –

相關問題