将方法附加到Class事件

时间:2011-02-24 17:07:56

标签: asp.net

我开发了一个包含50页&现在我想在每个page_load上调用一个方法。所以,有什么方法可以将我的方法附加到现有的类Event。因此,只要该事件被引发,我的方法就会被调用。

示例:我可以将mymethd()附加到页面类的page_load事件,因此每当加载任何页面时,我的mymethod()都会被调用。我不想继承页面类。

3 个答案:

答案 0 :(得分:3)

您是否使用“主”页面构建了自己的网站?并从主人那里导出你的每一页?这肯定会让事情变得更容易......

然后,将方法添加到外部“主”页面,在ITs加载事件期间,自动实例化对“事件”的调用。

答案 1 :(得分:1)

如果您不想使用继承(顺便说一下:为什么?)并且您没有母版页,我可以建议使用custom HTTP Module 它不会附加到page_load,但它允许您在每次请求页面时调用您的方法。

答案 2 :(得分:0)

我不知道您对使用继承的反对意见 - 它只涉及进行查找/替换。

E.g。如果您的所有页面都从公共基页类继承。

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>");

    }
}
相关问题