Current filter:
                                You should refresh the page.
                                  • I'm not even sure how to reproduce this, but I have a Page that has pretty decent vertical content. When the Page loads, everything is fine, I can scroll up and down the page. However, after displaying an ASPxPopup window, and then closing it, the Page's vertical scrollbar is gone and it looks like somehow the vertical content is being clipped. I can not scroll down even by using arrow keys or mouse wheel.
                                    I don't know if this matters, but the PopupControl is within an AJAX UpdatePanel.
                                    Steps to Reproduce:
                                    PopupWindow window = this.ActionPopup.Windows[0];
                                    window.HeaderText = "Test";
                                    window.Modal = true;
                                    window.ShowOnPageLoad = true;
                                    // Window Closes via server-side Button Click
                                    if (this.ActionPopup.Windows.Count > 0) {
                                         PopupWindow window = this.ActionPopup.Windows[0];
                                         window.Modal = false;
                                         window.ShowOnPageLoad = false;
                                         this.ActionPopup.Windows.Remove(window);
                                    }
                                    this.ActionPopup.Modal = false;
                                    this.ActionPopup.ShowOnPageLoad = false;

                                Show all comments
                                • (no info) 04.29.2008

                                  Added additional info in the "steps to reproduce".

                                • (no info) 04.29.2008

                                  Also, please note that after the PopupWindow closes, and I then resize the Browser window, the JavaScript for the PopupControl throws an unhandled exception that it can't find some element (probably it's looking for the PopupWindow which no longer exists).

                                • (no info) 04.29.2008

                                  I've attached a sample project that demonstrates this. Run the sample and click the "Assign To..." button. It will show a Popup and if you click Cancel or Ok on the Popup, the scrollbars never come back. You can see in the Server-Side that I am setting "Popup.ShowOnLoad = false" which SHOULD tell the popup to close itself. I think this is a good example of why there is a need for an explicit "PopupControl.Close()" and a "PopupWindow.Close()" method needed on the server-side (the AJAX PopupExtender has this method which allows it to function properly). I am sure there is some JavaScript that I could register to have the Popup be closed Client-Side, however, I'm not savvy enough on this popup control to know how to go about it.

                                • (no info) 04.29.2008

                                  One more note, if you reset the "ShowCloseButton" to true on the PopupControl, and then click the close button, it does reenable the Scrollbars. However, I really, really need the server-side code to run. And clicking the Close button will not fix the issue when the user actually needs to click the Ok button on the Popup dialog.

                                • Nick (DevExpress Support) 04.30.2008

                                  Hello Timothy,
                                  A popup control is displayed on demand. ShowOnPageLoad=true means that the popup is automatically displayed, when its parent page is loaded. You should reset ShowOnPageLoad to false, if you don't want the popup control to reappear when the page is reloaded next time. However, you should also explicitly hide the popup when a button is clicked. We advise that you use this code:

                                  [ASPx]
                                  <dxe:ASPxButton ID="btnOk" runat="server" Text="Ok" CommandName="Ok" OnCommand="OnButtonCommand"> <ClientSideEvents Click="function(s, e){actionPopup.HideWindow(actionPopup.GetWindow(0)); }" /> </dxe:ASPxButton> <dxe:ASPxButton ID="btnCancel" runat="server" Text="Cancel" CommandName="Cancel" OnCommand="OnButtonCommand"> <ClientSideEvents Click="function(s, e){actionPopup.HideWindow(actionPopup.GetWindow(0)); }" /> </dxe:ASPxButton>

                                  Additionally, we recommend that

                                  1. You insert an UpdatePanel into the popup control, if you only need to change its content rather than the popup control itself.
                                  2. If you use a single popup window, you can use the default one. The default window is automatically created and uses PopupControl's properties. This allows you to simplify your code as shown below.
                                  [C#]
                                  // Old code: public void RegisterUIElement(ICustomAction Action, Control Element, string Uri) { // Determine the PopupWindow to use PopupWindow window = null; if (this.ActionPopup.Windows.Count == 0) { window = new PopupWindow(); window.HeaderText = action.Title; window.Modal = true; window.ShowOnPageLoad = true; this.ActionPopup.Windows.Add(window); } else window = this.ActionPopup.Windows[0]; window.Controls.Add(Element); } // New code: public void RegisterUIElement(ICustomAction Action, Control Element, string Uri) { ActionPopup.Controls.Add(Element); ActionPopup.HeaderText = action.Title; ActionPopup.Modal = true; ActionPopup.ShowOnPageLoad = true; }

                                  Thanks,
                                  Nick

                                • (no info) 04.30.2008

                                  Thanks, I will try your suggestions, however, I've already been down that road and it didn't work. Also, I cannot add JavaScript to the ClientSideEvents of the Ok and Cancel buttons because the UserControl is unaware that it is in a Popup. This usercontrol will be re-used in other UIs that may not be in a Popup.
                                  I have also tried registering a StartupScript on the "Complete" event of the Popup's UserControl, however, there are bugs in the JavaScript of the ASPx controls that are preventing this from working.
                                  private void OnCustomActionCompleted(object sender, CustomActionCompletedEventArgs e) {
                                       if (!e.Cancel) this.action.SaveState();
                                       this.ResetCustomAction();
                                       string name = this.ActionPopup.ClientInstanceName;
                                       string script = string.Format("alert('Closing Popup Window');\n{0}.HideAllWindows();", name);
                                       ScriptManager.RegisterStartupScript(this.upnlPopup, this.GetType(), "ClosePopup", script, true);
                                  }

                                • (no info) 04.30.2008

                                  Everytime I register that ClientScript block, this is where the error occurs (unspecified error): Basically, the "name" parameter is being passed in as an Empty String but the JavaScript isn't handling it and it's crashing.
                                  function _aspxSetFocusToTextEditWithDelay(name){_aspxSetTimeout("var edit = aspxGetControlCollection().Get('"+name+"'); __aspxIE ? edit.SetCaretPosition(0) : edit.SetFocus();",500);}

                                • (no info) 04.30.2008

                                  Nothing you've mentioned here will work when the Page is using UpdatePanels. If I remove all AJAX UpdatePanels, then my code works as expected. However, when I add the UpdatePanels in the Page again, the DevExpress JavaScripts are causing exceptions to be thrown that cannot be handled.
                                  I've attached the sample without all the UpdatePanels and you can see that it works. However, add the UpdatePanels where you feel necessary and (if you're like me), I couldn't find any combination of UpdatePanels that wouldn't crash the Page. I really really need your help on this, my company just bought these controls and it's been 3 weeks and we still can't make a page functional.
                                  Thank you!

                                • (no info) 05.01.2008

                                  I found this issue here and it looks like it might be related to the way DevExpress is assigning the ClientInstance to a variable instead of just the ClientInstance's ID. At this point, everytime I use an UpdatePanel, the JavaScript crashes. It looks like this issue below is exactly why this is happening because I am loading dynamic content into the PopupControl.
                                  IE 6/7 - "Unspecified Error" when accessing offsetParent (Javascript):
                                  http://weblogs.asp.net/rajbk/archive/2006/11/29/ie-6-7-unspecified-error-when-accessing-offsetparent-javascript.aspx
                                  At this point I give up, there is no way to use this PopupControl for things that need to happen on the Server-side. I am going back to the AJAX Toolkit.

                                • Nick (DevExpress Support) 05.01.2008

                                  Hello Timothy,
                                  Thank you for the additional information. We'll do our best to find a solution as soon as possible.
                                  Thanks,
                                  Nick

                                • (no info) 05.01.2008

                                  Thank you. Just for reference, I'm attaching another sample which uses the AJAX Toolkit PopupExtender and it's works fine. Maybe it'll be useful in diagnosing this issue...

                                • Andy Tr (DevExpress) 05.08.2008

                                  Hello Timothy,
                                  Currently, a client popup control object is required to be closed prior to it losing its HTML render information. You can close all client popup control objects before sending a callback by putting the following script at the end of your page (for instance, you can put this code within the Default.aspx page after the UpdatePanel's markup):
                                  <ajax:UpdatePanel ID="upnlPopup" runat="server" UpdateMode="Conditional">
                                            <ContentTemplate>
                                                 <dxpc:ASPxPopupControl ID="ActionPopup" runat="server" HeaderText="Custom Action" AllowDragging="True"
                                                  ClientInstanceName="actionPopup" CloseAction="CloseButton" Modal="True" PopupHorizontalAlign="WindowCenter"
                                                  PopupVerticalAlign="WindowCenter" ShowCloseButton="true">
                                                 </dxpc:ASPxPopupControl>
                                            </ContentTemplate>
                                       </ajax:UpdatePanel>
                                       <script type="text/javascript">
                                        var prm = Sys.WebForms.PageRequestManager.getInstance();
                                          prm.add_beginRequest(OnBeginRequest);
                                          function OnBeginRequest(){
                                              ASPxClientPopupControl.GetPopupControlCollection().HideAllWindows();
                                          }
                                  </script>
                                  We've created a suggestion regarding your problem. It can be accessed and tracked at: ASPxPopupControl - Provide the capability for a visible client popup control object to work correctly when it doesn't have the information about its corresponding HTML markup
                                  Thanks,
                                  Andrew

                                • (no info) 06.04.2008

                                  Here's an update on this. I've finally discovered how to load dynamic controls in the PopupWindows, process any results server-side using UpdatePanels, and close the PopupWindow and get my scrollbars back correctly. Basically, in my custom "Action" controls "Completed" event, I register a startup script that is special to Async PostBacks:
                                  private void RegisterClosePopupScript()
                                  {
                                       string scriptKey = "ClosePopupScript";
                                       System.Text.StringBuilder script = new System.Text.StringBuilder();
                                       script.Append("ASPxClientPopupControl.GetPopupControlCollection().HideAllWindows();");
                                       System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), scriptKey, script.ToString(), true);
                                  }
                                  Since this was the only missing piece, I think everything is working good. It only took sacrificing a few chickens and a little black magic, but it's working...for now.

                                • Andy Tr (DevExpress) 06.05.2008

                                  Hello Timothy,
                                  We're glad to hear that you've managed to solve your problem.
                                  We'll try to take into account your decision when implementing the registered suggestion: ASPxPopupControl - Provide the capability for a visible client popup control object to work correctly when it doesn't have the information about its corresponding HTML markup
                                  Thanks,
                                  Andrew

                                0 Solutions

                                Creation Date Importance Sort by