Thursday 12 February 2009

this._postBackSettings.async is null or not an object

You are using a PopupControlExtender from the AjaxControlToolkit and you added a Button or an ImageButton in it and every time you click on it this ugly js error appears: this._postBackSettings.async is null or not an object. You Google and you see that the solution is to use a LinkButton instead of a Button or an ImageButton.

Well, I want my ImageButton! Therefore I added to the Page_Load method of my page or control this little piece of code to fix the bug:
private void FixPopupFormSubmit()
{
var script =
@"if (window.Sys&&Sys.WebForms&&Sys.WebForms.PageRequestManager&&Sys.WebForms.PageRequestManager.getInstance) {
var prm=Sys.WebForms.PageRequestManager.getInstance();
if (prm&&!prm._postBackSettings) prm._postBackSettings=prm._createPostBackSettings(false, null, null);
}"
;
ScriptManager.RegisterOnSubmitStatement(Page, Page.GetType(), "FixPopupFormSubmit", script);
}


Hope it helps you all.

11 comments:

  1. Thanks a ton!

    ReplyDelete
  2. Thanks mate! Your post just saved me from going insane!

    ReplyDelete
  3. I guess it is better than nothing, but I get really agitated when I inherit code from someone and it has voodoo it like this.

    ReplyDelete
  4. thanks, it just gets fixed

    ReplyDelete
  5. This solved my problem. All the other "solutions" are like scrounging around in the dark.

    ReplyDelete
  6. Loved it. Great !! boss.

    ReplyDelete
  7. Brilliant! Saved me lots of time I guess ;)

    ReplyDelete
  8. Thanks a lot !
    You are a life Saver Man..........

    ReplyDelete
  9. Yes, this was a massive help. Thank you!

    ReplyDelete
  10. Thanks a lot dear !
    It's really helpful...

    ReplyDelete
  11. Thanks a lot It worked .....

    ReplyDelete