我知道這是一個奇怪的情況,但這是我必須做的事情,爲了不再需要相同的頁面。打開/關閉網頁形式的母版頁
我有一個通過彈出打開的web窗體,它目前沒有母版頁,因爲它通過主窗體打開。
所以,我的客戶告訴我,我必須通過這個彈出窗口或通過主窗體附近的菜單打開它。如果我通過菜單打開它,它將像普通頁面一樣打開,並且需要包含母版頁佈局。
這可能嗎?
我知道這是一個奇怪的情況,但這是我必須做的事情,爲了不再需要相同的頁面。打開/關閉網頁形式的母版頁
我有一個通過彈出打開的web窗體,它目前沒有母版頁,因爲它通過主窗體打開。
所以,我的客戶告訴我,我必須通過這個彈出窗口或通過主窗體附近的菜單打開它。如果我通過菜單打開它,它將像普通頁面一樣打開,並且需要包含母版頁佈局。
這可能嗎?
我認爲你有兩個選擇:
設置通過代碼:
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
沒有工作。我做了一些不同的事。 – Phiter
我不得不使用不同的方法。
我將主頁面(頁眉,頁腳,菜單)上的所有元素設置爲runat=server
,並將它們設置爲不可見,而不需要母版頁佈局。
這顯然是一個骯髒的黑客,但它的工作。
不太可能。如果一個頁面應該是一個內含主頁的頁面,它不包含整個標記,甚至不包含表單。沒有主人的那個網頁根本行不通。你可以做的是有兩個不同的母版頁,並根據頁面打開的方式在它們之間交替。這是非常可行的 – Andrei
我認爲創建一個空白母版頁並設置'this.MasterPage =「myBlankMasterPage.cs」'應該工作,然後呢? – Phiter
不太確定。您的頁面需要更改,首先要與其他頁面類似。 – Andrei