zoukankan      html  css  js  c++  java
  • Modal popup dialog window with 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
      Collapse Copy Code
      <!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
      Collapse Copy Code
      <!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

  • 相关阅读:
    聊聊豆瓣阅读kindle版..顺便悼念一下library.nu…
    PhoneGap+jQm webapp本地化(1)环境搭建以及资源介绍
    尝试分析Q群作为技术群是个不恰当的选择!
    某android平板项目开发笔记计划任务备份
    android 自动化测试的傻瓜实践之旅(UI篇) 小试身手
    latex/Xelatex书籍排版总结顺便附上一本排好的6寸android书…
    某android平板项目开发笔记自定义sharepreference UI
    android ORM框架的性能简单测试(androrm vs ormlite)
    网络管理员必学手册
    PPT插入FLV视频文件的简单方法
  • 原文地址:https://www.cnblogs.com/neozhu/p/1391025.html
Copyright © 2011-2022 走看看