2009-04-15 57 views
1

我有一個母版,並得到其類型如下:ASP.NET - 傾斜的GetType()母版

alt text http://www.yart.com.au/stackoverflow/masterpage.png

沒問題,這個工作

現在,當我創建一個aspx頁面並嘗試同樣的事情,我得到空:

alt text http://www.yart.com.au/stackoverflow/page.png

爲什麼?

我該如何得到這個工作?

注意

下面的答案說,我需要引用的大會。 但是我怎麼做,當我運行這個應用程序作爲一個ASP.NET網站 - 這裏有編譯的DLL。

回答

1

Type.GetType(string)需要組件限定的類型名稱。

+0

我沒有明確的彙編,只是一個ASP.NET網站。我應該如何參考組件? – Petras 2009-04-15 13:22:48

4

發生這種情況的原因是因爲您正在編譯每個頁面,因爲您正在使用網站而不是Web項目。

因此,每個頁面是一個單獨的組件,不知道另一個。如果您想使用GetType,我會建議更改爲Web項目,以使您的生活更輕鬆。

+0

+1。我從未理解這兩者之間的區別。 – 2009-04-15 14:46:40

2

在標記爲您的aspx頁面,您可以指定要使用像這樣的母版頁類型:

<%@ MasterType VirtualPath="~/MasterPage.master" %> 

在任何情況下,你可以回來從像調用獲取當前母版頁的類型這在您的代碼隱藏:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Type t; 
    t = this.Master.GetType(); 
} 
+0

上面這個可能工作,但在我的實際問題中,MasterPage沒有被aspx – Petras 2009-04-15 22:14:09

+0

使用好吧,也許最好是如果你解釋爲什麼你需要引用母版頁,那麼如果它沒有被該頁使用?可能有另一種更簡單的方法來實現你正在嘗試做的事情。 – 2009-04-16 08:00:27