我正在使用ASP.NET 4.5開發ASP.NET Webforms網站。 我有,我用我的方式母版頁,但我想要的頁面類從另一個SitePage
類繼承,爲此,代碼如下:如何防止在使用自定義基頁面類時覆蓋Page_Load方法
public abstract class SitePage : Page
{
protected void Page_Load(object sender, EventArgs e)
{
// common logic here
Page_LoadImpl(sender, e);
}
protected abstract void Page_LoadImpl(object sender, EventArgs e);
}
頁面的類會再看看這樣的:
public partial class MyPage: SitePage
{
protected override void Page_LoadImpl(object sender, EventArgs e)
{
//page specific logic here
}
}
我來自Java的背景,我如何使我的SitePage Page_Load
方法最終,不可重寫?我知道我可以使用嵌套母版頁來實現相同的功能,但我不想重新定義頁面的內容。 謝謝
好吧,我明白了,但是我可以在MyPage類中放入一個 'protected void Page_Load(object sender,EventArgs e)' 。我想這被視爲默認的新方法,從BasePage中隱藏一個,正確的?在那種情況下,我沒有辦法阻止這種情況發生,對吧? – kfc 2013-04-22 10:23:39
這是100%正確!編譯器會發出警告。此警告可以通過在第二個Page_Load上使用關鍵字「new」來抑制。 – 2013-04-22 11:21:31