2011-02-24 67 views
0

我開發了一個Web應用程序,其中包含50頁&現在我想調用每個page_load.So,方法我可以將我的方法附加到現有的類事件。所以無論何時該事件發生,我的方法都會被調用。附加方法類事件

例如:我可以將mymethd()附加到頁面類的page_load事件,所以每當任何頁面加載我的mymethod()將被調用。我不想繼承頁面類。

回答

3

您是否使用「主」頁建立您的網站?並從主站派生出每個頁面?這肯定會使它更容易...

然後,將該方法添加到外部「主」頁面,並在IT加載事件期間,自動實例化對您的「事件」的調用。

0

我不知道你的反對意見是什麼使用繼承 - 它只涉及做一個查找/替換。

例如如果你的所有頁面都從一個普通的基本頁面類繼承。

public class TuscanoBasePage: System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e){ 
     Response.Write ("<h1>This is a base page method</h1>"); 
    } 
} 

然後你從這個基地頁在您的實際網頁繼承:

public partial class Default : TuscanoBasePage 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     base.Page_Load(sender, e); 

     Response.Write("<h2>This is coming from the page that inherits from TuscanoBasePage!</h2>"); 

    } 
} 
1

如果你不想使用繼承(順便說一句:爲什麼?),你沒有母版頁,我可以建議的一種替代方法是使用custom HTTP Module 它不會附加到page_load,但它可以讓您在對頁面的每個請求中調用您的方法。