I have a "parent" web page with a toolbar button, a webmonthview, and a webdialogwindow which is initially is hidden. When the user clicks on the button, the dialogwindow is displayed with a 2nd page "child" page in its contentpane.The child page inside the webdialogwindow displays data that helps the user decide which events on the monthview on the parent page to interact with. It's expensive to get from the dbms and I don't wish to do that frequently.
Here's my problem: when the user clicks on the webmonthview header to move to the next./prev month and the parent page posts back, the child page is refreshed COMPLETELY, by which I mean it's not a postback but acts as if the page is being hit for the first time: Page.IsPostback is set to false very time. My expensive database query is executed again. Worse, viewstate for other data is lost.
This seems to happen whether or not EnableSmartCallbacks is set to true or false for the webschedule controls on the parent page. I've looked for properties to affect behavior, but have found none. Can anyone help?
Thanks.
P.S. There is too much data to send it as querystring to the child window on each postback of the parent.
Note: I have decided to submit a support incident for this, #CAS-42020-ZU6GFB. Please forgive the "cross posting", as it were, but I'm getting heat from management and customers, so I'm in a hurry.
If anyone in the community has a solution PLEASE provide. I will cancel the support incident. Conversely, if tech support comes back with a solution, I will post here.
Thanks!
-BillyB
Billy,How do you know that it's doing a full page postback? Page_Load, _prerender, etc. events fire on partial page postbacks as well.What do you see in your code behind when you look at ScriptManager.IsInAsyncPostBack ?
If ScriptManager.IsInAsyncPostBack is true, you can put an
If ScriptManager.IsInAsyncPostBack Then
End If
block around the code you don't want to execute.
-Eric
Hey There Eric,
Thanks for taking an interest. I examined the IsPostback of the page as well as IsInAsyncPostBack properties to know what was going on.
I actually found my answer from IG development team at the end of last week and never updated this thread as I promised. My bad. Here's what the issue was:
I was new to the webdialogwindow and the examples in the documentation pointed to the use of ContentPane.ContentUrl as the way to embed HTML inside these windows. In other words I thought the contentpane HAD to be in a completely separate web page and missed that the ContentPane has a TemplateControl child element like many other controls, and that I could put the content for the window right on the "parent" web page.
Well, when you use ContentPane.ContentUrl and point at a completely separate web page for the contents of a WDW, the emitted HTML is implemented as an IFRAME, not a DIV. IFrames always do an HTML get when the parent page posts back. That's just the way it is.
When I placed my HTML directly inside the WDW, postbacks of the "parent" also resulted in postbacks for the contents of the window, and my problem went away.
[Note to IG staff: While I clearly missed how this control worked and this issue was my own fault, the documentation wasnt' exactly helpful. I think the Infragistics controls are impressive and the tech support is competent, but the documentation is flat-out the WORST for any software company I have ever encountered in my 20+ year software career. No contest. Come on Infragistics!!! I know that you can't make documentation too good or no one would buy Maintenance & Support, but honestly! I thought the documentation was bad before, but it's even WORSE for these new Aikido controls. Please improve.]
Hi,
I am having this same issue. I have a WebDiagloxWindow which has a reference to another page through the .
ContentUrl
My point is the that why should the ContentURL page is even called from the WebDaigbox when the parent page is getting refreshed. This is causing lots of issue and wasteage of time.
In my case I cannot keep the child windows content on the Parent page.
IG - Any good work around for this please?