Modal Popup Dialog Window in ASP.NET 傳遞多個參數

來源:互聯網
上載者:User
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#, Csharp, VB.NET, Visual Basic, Java

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

<!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 Formvar 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 Child Webform

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

<!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">.

Frederick Volking
Frederick Volking

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.