2011-02-24 111 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,但它可以让您在对页面的每个请求中调用您的方法。