Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Modal dialog windows position on postback

Reply
Thread Tools

Modal dialog windows position on postback

 
 
Rod
Guest
Posts: n/a
 
      04-14-2005
I have an asp.net application where some of the interaction with the
user is through modal dialog windows. This works very well except for
the annoying fact that the dialog window always returns to its initial
position when the user posts back (by clicking a button, etc.)

I have all of the fundamentals for asp.net modal dialogs in place, such
as using <base target="_self"> in the header...

To reiterate the problem for the sake of clarity: The users would like
to be able to reposition the modal dialogs and have the dialog maintain
its position when a postback is caused via clicking a button, etc.
Instead the modal dialog always returns to the position where it was
initally created.

What technique can I use to have the modal dialg remember its position
on postback.

This is an important issue for my client. I will post to this
newsgroup the solution I find (whether by assistance from
comp.lang.javascript, etc. -- or by my research).

Thanks,
Rod

 
Reply With Quote
 
 
 
 
Rod
Guest
Posts: n/a
 
      04-14-2005
I have found a 90% solution for how to get a modal dialog to maintain
its position after postback. (More later on the remaining 10%.)

In a nutshell, when the user clicks a button or other control that
causes a postback/submit, I retain the window.screenLeft and .screenTop
in hidden text inputs, and include script to set the window.dialogLeft
and .dialogTop in the response.

This is not a 100% solution. The dialog maintains its postion, but if
you move the dialog and then do a submit/postback, it will jump back to
its original (prior to moving the dialog) position for a brief moment
until the positioning script is run to place it to where you moved it.
I haven't figured out how to overcome that, so I appreciate any
suggestions or ideas.

Now for more details. First of all, this is an ASP.Net appliction with
VB.Net as the server-side codebehind langauge. In the dialog, I have
two hidden <aspnet:textbox runat="server"> controls whose IDs are
hidXPos and hidYPos, respectively.

I have a javascript function whose purpose is to retain the current
window position. It is placed in the onclick event handler for any
control that does a submit/postback -- prior, of course, to doing the
submit.

function RecordPosition() {
var ohidXPos = document.getElementById('hidXPos');
var ohidYPos = document.getElementById('hidYPos');

ohidXPos.value = window.screenLeft;
ohidYPos.value = window.screenTop;
}


In the server-side code-behind, the Page_Load sub, which handles the
Page Load event, contains the following code snippit. Notice that I
subtract 3 pixels from dialogLeft and 22px from dialogTop to compensate
for thw window border and caption bar.


If hidXPos.Text <> "" And hidYPos.Text <> "" Then
Dim strScr As New System.Text.StringBuilder
strScr.Append("<script language='javascript'>" & vbNewLine)
strScr.Append("window.dialogLeft = '")
strScr.Append(hidXPos.Text - 3)
strScr.Append("';" & vbNewLine)
strScr.Append("window.dialogTop = '")
strScr.Append(hidYPos.Text - 22)
strScr.Append("';" & vbNewLine)
strScr.Append("</script>" & vbNewLine)
RegisterStartupScript("position", strScr.ToString)
End If


This produces script that looks like the following, for example:

<script language='javascript'>
window.dialogLeft = '259';
window.dialogTop = '117';
</script>


Another idea I tried unsuccessfully was to set window.dialogLeft and
Top in the above RecordPosition function. That seemed to have no
effect.

Thanks,
Rod

 
Reply With Quote
 
 
 
 
kaeli
Guest
Posts: n/a
 
      04-14-2005
In article <(E-Mail Removed) .com>,
http://www.velocityreviews.com/forums/(E-Mail Removed) enlightened us with...
>
> To reiterate the problem for the sake of clarity: The users would like
> to be able to reposition the modal dialogs and have the dialog maintain
> its position when a postback is caused via clicking a button, etc.
> Instead the modal dialog always returns to the position where it was
> initally created.
>
> What technique can I use to have the modal dialg remember its position
> on postback.
>


Is this postback occuring in the parent window or the modal dialog?

--
--
~kaeli~
If the funeral procession is at night, do folks drive with
their lights off?
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace

 
Reply With Quote
 
Rod
Guest
Posts: n/a
 
      04-14-2005
The postback is occuring in the modal dialog.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Opening modal page from modal page Don ASP .Net 0 05-27-2008 11:49 PM
Modal and non modal in same app Leila Java 0 04-26-2005 09:48 PM
Preventing a modal dialog from doign a postback John ASP .Net 1 03-17-2005 11:12 PM
post the form data in modal window and close the modal window. Matt HTML 1 06-01-2004 08:22 PM
post the form data in modal window and close the modal window. Matt Javascript 0 06-01-2004 07:47 PM



Advertisments