How to use showModalDialog in asp.net?

On WebForm1.aspx, I have a linkbutton to call a JavaScript function to show a modal web page, WebForm2.aspx. Like this:

function ShowNewPage()
{
window.showModalDialog("WebForm2.aspx","","width=400; height=200; resizable=yes; scrollbars=yes; top=300; left=300");
}

On WebForm2.aspx, I have a web control button. If I click on it, something weird happened. Instead of post back to the same page (WebForm2.aspx), it opens another web page, which is unexpected behavior.

Does anybody know how to fix this problem and let modal web page post back to itself?

Thanks a lot.
LVL 1
BruceChengAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

InteliscapeCommented:
this is how in one page.

<HTML>
<HEAD>
<TITLE>page1.HTM</TITLE>
</HEAD>
<BODY>
<INPUT type=textbox id=mmytext tabIndex=1>
<SCRIPT>
function ShowNewPage()
{
mmytext.value=window.showModalDialog("page1.HTM","","width=400; height=200; resizable=yes; scrollbars=yes; top=300; left=300");
return;
}
function leave(ret){
      window.returnValue = ret;
      window.close();
}
</SCRIPT>
<br>
<INPUT id=button1 onclick=leave(false); tabIndex=1 type=button value=No>&nbsp;&nbsp;&nbsp;
<INPUT id=button2 onclick=leave(true); tabIndex=2 type=button value=Yes>
<br>
<div onClick="ShowNewPage()"><b>Click Here</b></div>
</BODY>
</HTML>
0
BruceChengAuthor Commented:
I know how to use showModalDialog. My question is, in case of .NET, if the modal page (in your case page1.HTM) post back to itself, it opens a new modaless windows.

Which is, in my example, on the opened modal window, WebForm2.aspx, if I click a button or select an new item from a drop down list, WebForm2.aspx will post back to itself automatically. At this time, instead of refreshing the same WebForm2.aspx, it opens another modaless page. How can I just refresh the same modal window page without opening a new window.

Thanks.
0
InteliscapeCommented:
There is no any direct solution.

But you can work with iframes or layers.

something like this in the modal page

<iframe id = "tst" width="100%" height="100%"  src="WebForm2.aspx"> </iframe>

the rest are easy you have a full functional page and the id of the page.

i hope know its ok.



0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Introduction to Web Design

Develop a strong foundation and understanding of web design by learning HTML, CSS, and additional tools to help you develop your own website.

muffishCommented:
Bruce Cheng,

In the child form ,you open html view.
You will find html tag <body >

type in property,  onblur="this.focus"

this is how it looks like

<BODY  onblur="this.focus">


0
PolyktorCommented:
This is all the code you need to avoid the new windows on postback with showModalDialog:

      <base TARGET="_self">

Put this in your <head> tag on your page.

You don't need to mess with other frames. I'm glad I found this before going the frames route.

-R
0
HappySurferCommented:
Thanks Polyktor

It is a better solution than using a empty page with a iframe.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.