IPostBackEventHandler

G

ggeshev

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?
 
B

Brian Hartsock

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?

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

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. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top