Nov 20, 2007

Why AJAX Update Panel Causing Errors?

AJAX update panel, throw an error if we use methods such as Response.Write(), Server.Transfer() etc. But it's works fine with Response.Redirect() method.

This is really happen to me. As my knowledge I suppose, because Update Panel process response proportionally or fetch only changes to the current response, instead of whole response. That's why we cant see the whole page get refreshed even if a post back occurs.

In my web application, when user click on print button it should bring up a new pop-up window with the preview. Since this button is inside the UpdatePanel it throws an exception.


protected void OnPrintClick(object sender, EventAgrs e)
{
Response.Write("<script type=\"text/javascript\">window.open(\"reports.aspx\",\"\",\"toolbar=0,
menubar=0,resizable=yes\");
</script>");
}

When run this line, I got following error.










I change above code as follows,


protected void OnPrintClick(object sender, EventAgrs e)
{
StringBuilder _sb = new StringBuilder();
_sb.Append("window.open('reports.aspx','',");
_sb.Append("'toolbar=0,menubar=0,resizable=yes')");
// Register java script to the ScriptManager.
ScriptManager.RegisterStartupScript(Page, Page.GetType(),
"winOpen", _sb.ToString(), true);
}



It works now as I expected.

No comments: