IPostBackEventHandler

Discussion in 'ASP .Net Building Controls' started by ggeshev, Mar 21, 2008.

  1. ggeshev

    ggeshev Guest

    Hello!

    I am building a Webcontrol.

    public class MyCustomControl : WebControl, IPostBackEventHandler,
    IPostBackDataHandler {
    .......

    void IPostBackEventHandler.RaisePostBackEvent(string args)
    {
    RaisePostBackEvent(args);
    }

    protected virtual void RaisePostBackEvent(string args) {

    }


    bool IPostBackDataHandler.LoadPostData(string postDataKey,
    NameValueCollection values)
    {
    return LoadPostData(postDataKey, values);
    }

    protected virtual bool LoadPostData(string postDataKey,
    NameValueCollection values)
    {
    return true;
    }

    void IPostBackDataHandler.RaisePostDataChangedEvent()
    {
    RaisePostDataChangedEvent();
    }

    protected virtual void RaisePostDataChangedEvent()
    {

    }

    }


    The problem is - Nevertheless I implement IPostBackEventHandlerand
    IPostBackDataHandler , methods RaisePostBackEvent, LoadPostData and
    RaisePostDataChangedEvent are never called.

    Why is so?
     
    ggeshev, Mar 21, 2008
    #1
    1. Advertisements

  2. ggeshev

    Tony Guest

    I think IPostBackEventHandler only work when you implement in Page control.
     
    Tony, Mar 26, 2008
    #2
    1. Advertisements

  3. Just implementing IPostBackDataHandler does nothing. You have to
    register the control with the page. I usually do it in PreRender,
    because if a page doesn't get rendered it can't handle post back
    data. I don't think it really matters though. I think the same
    applies to IPostBackEventHandler but I have never used that.

    protected void Page_PreRender(object sender,
    EventArgs e)
    {
    this.Page.RegisterRequiresPostBack(this);
    }
     
    Brian Hartsock, Apr 22, 2008
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.