2016-09-15 26 views
-1

我知道這是一個奇怪的情況,但這是我必須做的事情,爲了不再需要相同的頁面。打開/關閉網頁形式的母版頁

我有一個通過彈出打開的web窗體,它目前沒有母版頁,因爲它通過主窗體打開。

所以,我的客戶告訴我,我必須通過這個彈出窗口或通過主窗體附近的菜單打開它。如果我通過菜單打開它,它將像普通頁面一樣打開,並且需要包含母版頁佈局。

這可能嗎?

+1

不太可能。如果一個頁面應該是一個內含主頁的頁面,它不包含整個標記,甚至不包含表單。沒有主人的那個網頁根本行不通。你可以做的是有兩個不同的母版頁,並根據頁面打開的方式在它們之間交替。這是非常可行的 – Andrei

+0

我認爲創建一個空白母版頁並設置'this.MasterPage =「myBlankMasterPage.cs」'應該工作,然後呢? – Phiter

+0

不太確定。您的頁面需要更改,首先要與其他頁面類似。 – Andrei

回答

0

我認爲你有兩個選擇:

設置通過代碼:

protected override void OnPreInit(EventArgs e) 
    { 
     base.OnPreInit(e); 
     if(xy) 
     { 
     this.MasterPageFile = "~/MyMaster.Master"; //Path to masterpage '~' if rootfolder 
     } 
     else 
     { 
     this.MasterPageFile = ""; 
     } 
    } 

使用用戶控件:

創建一個用戶控件(的.ascx),它包含了當前頁面的代碼。然後用masterpage創建第二個頁面(.aspx)並在兩個頁面上註冊控件。

有關用戶控件的一些信息:

https://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx?f=255&MSPPError=-2147217396 https://msdn.microsoft.com/en-us/library/sbz9etab.aspx

+0

沒有工作。我做了一些不同的事。 – Phiter

-1

我不得不使用不同的方法。

我將主頁面(頁眉,頁腳,菜單)上的所有元素設置爲runat=server,並將它們設置爲不可見,而不需要母版頁佈局。

這顯然是一個骯髒的黑客,但它的工作。