开发者

Can i unsubscribe to an event of BasePage from a page which inherits from BasePage in asp.net

I have a BasePage having common functio开发者_JAVA技巧nality required by all pages. I have defined a PreRender() event on page base. There are 2-3 pages which does not require this functionality. Can i unsubscribe to PreRender() event of BasePage from my .aspx page. I tried casting BasePage to Page

(PageBase as Page).PreRender -= OnPreRender(new EventArgs());

but it says PageBase is a type but is used as a variable. How to achieve this. Please suggest.

I am adding PreRender() event as follows:

public PageBase()
{
    this.PreInit += new EventHandler(PageBase_PreInit);
    this.PreRender += new EventHandler(PageBase_PreRender);


}


Your example looks close. What if you try:

base.Page.PreRender -= new EventHandler(Page_PreRender);

This assumes you added the event using:

base.Page.PreRender += new EventHandler(Page_PreRender);

Another option is override the OnPreRender method in your BasePage and use a protected field to check if it should be done. For the three pages, set it to false:

    protected bool _useMyCustomPreRender = true;
    protected override void OnPreRender(EventArgs e)
    {
        if (_useMyCustomPreRender)
        {
            // do my logic here
        }
        base.OnPreRender(e);
    }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜