Click here to Skip to main content
15,867,686 members
Articles / Web Development / ASP.NET
Article

Modal popup dialog window with multiple parameters

Rate me:
Please Sign up or sign in to vote.
4.17/5 (40 votes)
13 Sep 20031 min read 323.1K   70   22
Modal popup dialog window which passes and returns multiple parameters

Introduction

This article shows a modal popup dialog window which passes and returns multiple parameters. This sample creates parent and child webforms. The child webform is called modally by the parent passing multiple values to the child form. The child form displays the passed values allowing them to be edited and then returns the altered values back to the parent when finished. The child form is modal to only the parent form. To make the child modal to the entire desktop, see the below final note.

Scope

ASP, ASP.NET, C#, VB.NET, Visual Basic, Java

Steps

  1. Open a New Web project in Visual Studio
  2. Create two New WebForm pages named ParentWebForm and ChildWebForm
  3. Open the HTML surface for the ParentWebForm
  4. Locate the yellow line
  5. Delete all code EXCEPT the yellow line
  6. Insert the following HTML below the existing yellow line
    JavaScript
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
        <HEAD>
            <title>Parent Webform</title>
            <script language="javascript">
    function OpenChild() 
    {
        var ParmA = retvalA.value;
        var ParmB = retvalB.value;
        var ParmC = retvalC.value;
        var MyArgs = new Array(ParmA, ParmB, ParmC);
        var WinSettings = "center:yes;resizable:no;dialogHeight:300px"
        //ALTER BELOW LINE - supply correct URL for Child Form
        var MyArgs = window.showModalDialog(
       "http://localhost/ModalWin/ChildWebForm.aspx", MyArgs, WinSettings);
        if (MyArgs == null)
        {
            window.alert(
              "Nothing returned from child. No changes made to input boxes")
        }
        else
        {
            retvalA.value=MyArgs[0].toString();
            retvalB.value=MyArgs[1].toString();
            retvalC.value=MyArgs[2].toString();
        }
    }
            </script>
        </HEAD>
        <body>
            <P><INPUT id="retvalA" type="text" value="AAA"></P>
            <P><INPUT id="retvalB" type="text" value="BBB"></P>
            <P><INPUT id="retvalC" type="text" value="CCC"></P>
            <P><BUTTON onclick="OpenChild()" type="button">
                    Open Child Window</BUTTON>
            </P>
        </body>
    </HTML>
  7. In the above code, locate the line saying //ALTER BELOW LINE
  8. Supply the correct URL for your ChildWebform
  9. Open the HTML surface for the ChildWebForm
  10. Locate the yellow line
  11. Delete all code EXCEPT the yellow line
  12. Insert the following HTML below the existing yellow line
    JavaScript
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
        <HEAD>
            <TITLE>Child Webform</TITLE>
            <script language="javascript">
    function Done() {
        var ParmA = tbParamA.value;
        var ParmB = tbParamB.value;
        var ParmC = tbParamC.value;
        var MyArgs = new Array(ParmA, ParmB, ParmC);
        window.returnValue = MyArgs;
        window.close();
    }
    function doInit() {
        var ParmA = "Aparm";
        var ParmB = "Bparm";
        var ParmC = "Cparm";
        var MyArgs = new Array(ParmA, ParmB, ParmC);
        MyArgs =  window.dialogArguments;
        tbParamA.value = MyArgs[0].toString();
        tbParamB.value = MyArgs[1].toString();
        tbParamC.value = MyArgs[2].toString();
    }
            </script>
        </HEAD>
        <BODY onload="doInit()">
            <P>Param A:<INPUT id="tbParamA" TYPE="text"></P>
            <P>Param B:<INPUT ID="tbParamB" TYPE="text"></P>
            <P>Param C:<INPUT ID="tbParamC" TYPE="text"></P>
            <BUTTON onclick="Done()" type="button">OK</BUTTON>
        </BODY>
    </HTML>
  13. Set the project StartUp page to be the Parent Webform
  14. Run the project.

Final Note

To make the child modal to the entire desktop, you'll need add code to the child which uses <body onblur="this.focus">.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionThanks My Vote is 5 Pin
A. Najafzadeh18-Aug-14 20:01
A. Najafzadeh18-Aug-14 20:01 
QuestionModal popup dialog window with multiple parameters Pin
rajaChowdare20-Nov-13 4:22
rajaChowdare20-Nov-13 4:22 
GeneralVery useful! Pin
Gabriel F Gomes12-Aug-13 8:32
Gabriel F Gomes12-Aug-13 8:32 
GeneralBrowser dependent Pin
Sorin Serban18-Mar-08 22:39
Sorin Serban18-Mar-08 22:39 
QuestionHow can i open the popup in Firefox ? Pin
HiRoNvp20-Sep-07 0:31
HiRoNvp20-Sep-07 0:31 
Generalhi, can i know what u meant by yellow line Pin
rama charan16-Jul-07 4:49
rama charan16-Jul-07 4:49 
GeneralMessage Closed Pin
27-Sep-06 11:27
inchl27-Sep-06 11:27 
GeneralRe: Dialogs in ASP.NET using server-side-blocked-calls Pin
naga_01_raj29-Nov-06 0:31
naga_01_raj29-Nov-06 0:31 
NewsMessage Closed Pin
12-Jun-07 5:02
inchl12-Jun-07 5:02 
QuestionHow do i get another form with postback in popup window Pin
Mahesh Perumal30-Jun-06 8:56
Mahesh Perumal30-Jun-06 8:56 
GeneralUnicode support Pin
Close Network22-Jan-06 20:13
Close Network22-Jan-06 20:13 
GeneralPopup dialog on FireFox & Safari Pin
Tham Nguyen5-Jun-05 21:41
Tham Nguyen5-Jun-05 21:41 
GeneralRe: Popup dialog on FireFox &amp; Safari Pin
mishraz16-Dec-05 19:14
mishraz16-Dec-05 19:14 
AnswerRe: Popup dialog on FireFox & Safari Pin
B4rT4518-Aug-06 2:23
B4rT4518-Aug-06 2:23 
GeneralOverhere Pin
skjagini11-Feb-05 8:51
skjagini11-Feb-05 8:51 
Questionwho copies whom? Pin
Anonymous15-Jul-04 15:21
Anonymous15-Jul-04 15:21 
AnswerRe: who copies whom? Pin
David M. Kean15-Jul-04 18:03
David M. Kean15-Jul-04 18:03 
Questionwho sopies whom? Pin
Anonymous15-Jul-04 15:20
Anonymous15-Jul-04 15:20 
GeneralOther types of arguments Pin
Member 64796126-Mar-04 1:33
Member 64796126-Mar-04 1:33 
QuestionScope? Pin
kgrubbs17-Sep-03 11:24
kgrubbs17-Sep-03 11:24 
AnswerRe: Scope? Pin
FlashMerlot18-Sep-03 4:29
FlashMerlot18-Sep-03 4:29 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.