2013-04-02 27 views
0

當使用一個母版頁,反正是有,我可以看到什麼是Web表單目前加載或母版頁加載,所以這行之前:使用母版頁和Web Forms

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 

</asp:ContentPlaceHolder> 

我想要查看/獲取要在母版頁中加載的Web表單,這可能嗎?

回答

1

是的,你有機會從母版頁的Page財產。

要看到這個動作,從ASP.NET Web應用程序(它帶有一個母版頁)的默認Visual Studio的模板,這個轉儲在母版,其中的h1標題是:

My ASP.NET Application <%= Page.GetType().Name %> 

它會在瀏覽器中顯示爲My ASP.NET Application default_aspx或您正在瀏覽的任何頁面。

+0

這個作品完美,謝謝隊友 – Lappies

+0

隨時。僅供參考:在用戶控件上也有一個「頁面」屬性,其工作原理與生命週期的另一端相同。 –

0

我不知道您是否可以訪問正在加載的頁面,但是您可以在主頁面上創建一個名爲currentPage的公共屬性,並將其在頁面本身的Page_Load上設置爲所需的值。這樣,您就可以檢查它的代碼的Site.Master:

// on the Site.Master.cs 
public string CurrentPage; 


// on the page, inside the Page_Load event 
((Site)this.Master).CurrentPage = 'My page'; 


// on the Site.Master 
<% 
if (CurrentPage == "My page") 
{ 
    %>My page is loaded.<% 
} 
else 
{ 
    %>Another page is loaded.<% 
} 
+0

如果我想查看頁面在其加載之前加載,這項工作將會嗎? – Lappies

+0

這將起作用,因爲當執行master的aspx代碼時,頁面已經被加載。查找「webforms加載順序」,您可以更好地瞭解使用母版頁時發生的情況。 – rcdmk