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" <gge...@tonegan.bg> wrote in message
news:%23YiTvm3...@TK2MSFTNGP05.phx.gbl...
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);
}