母版頁呼叫內容頁的方法的簡單實現

2022-05-01 16:36:13 字數 1098 閱讀 7508

在內容頁中如何呼叫母版頁上的內容大家想必都已經知道,這裡我也不再囉嗦。我想介紹給大家的方法是如何在母版頁中如何呼叫內容頁的方法。

母版頁給我們帶來了很多方便性,但也帶來了乙個問題:在設計母版頁的時候,總會碰到需要在母版頁中呼叫內容頁的方法,但此時內容頁尚未設計,如何呼叫呢?下面就讓我用乙個例項給大家講解一下:

母版頁:masterpage.master的頁面**如下:

其中有乙個按鈕和乙個文字,其中的文字用來顯示內容頁的歡迎資訊,按鈕用來呼叫內容頁的方法,但此時內容頁並不存在,那麼按鈕的單擊事件**如何寫呢?

這裡我們需要引入乙個頁面基類的概念,想必大家都清楚;aspx頁面只要求後台類是繼承此page類即可。所以我們先新增乙個繼承自page的頁面基類basepage,然後讓頁面繼承自我們basepage並重寫相關方法,利用執行時的動態性來解決此問題。相關**如下:

basepage.cs:

public class basepage :page

}母版頁的後台**如下:

basepage currentpage = null;

protected void page_load(object sender, eventargs e)

protected void callcontentmethod_click(object sender, eventargs e)

}此處母版頁中定義乙個成員變數指向basepage,在pageload中將實際執行的頁面進行轉型,這樣在按鈕的單擊事件中就可以呼叫basepage定義的sayhello方法了。又由於此方法是虛方法,在執行時繫結具體方法,即可實現我們的要求。

下面是內容頁的**:

default.aspx.cs:

//注意類一定要繼承自自定義的基類,否則母版頁中轉型會失敗

public partial class template_default : basepage

//重寫歡迎資訊方法

public override string sayhello()

。通過以上的步驟,我們就可以輕鬆實現在母版頁中呼叫內容頁的方法。如果想自動呼叫,只需要在母版頁的page_load方法中轉型後直接呼叫相關方法即可。

如果大家有更好的方法歡迎一起討論!!!

母版頁的內容頁不顯示內容

問題 母板頁設定好了,可是繼承自它的內容頁卻不顯示 確切的說是只能顯示到div之前的內容 解決辦法 母板頁中把控制項放到了contentplaceholder控制項裡,將其拖到contentplaceholder之外即可。演示 在這裡演示乙個母版頁的 內容頁僅僅只是繼承自它 錯誤 錯誤顯示 正確 正...

內容頁響應母版頁控制項的事件

內容頁響應母版頁控制項的事件 左直拳在內容頁裡面,如果想響應位於母版頁的控制項的事件,該怎麼辦呢?msdn 開宗明義地告訴我們 對於控制項而言,事件是在本地處理的,即內容頁中的控制項在內容頁中引發事件,母版頁中的控制項在母版頁中引發事件。控制項事件不會從內容頁傳送到母版頁。同樣,也不能在內容頁中處理...

內容頁響應母版頁控制項的事件

內容頁響應母版頁控制項的事件 左直拳在內容頁裡面,如果想響應位於母版頁的控制項的事件,該怎麼辦呢?msdn開宗明義地告訴我們 對於控制項而言,事件是在本地處理的,即內容頁中的控制項在內容頁中引發事件,母版頁中的控制項在母版頁中引發事件。控制項事件不會從內容頁傳送到母版頁。同樣,也不能在內容頁中處理來...