主窗体main.aspx点一个按钮弹出一个模式窗体dialog.aspx,在模式窗体里的一个输入框内输入值并将这个值取回主窗体,并写入主窗体的一个Label内

解决方案 »

  1.   

    main.aspx中的按鈕html代碼,按下此按鈕將改變Label1中的值:<input type="button" onclick="var value=window.showModalDialog('dialog.aspx');if(value&&value!='') Label1.innerText=value;" value="click">dialog.aspx:<%@ Page Language="vb" AutoEventWireup="false" Codebehind="dialog.aspx.vb" Inherits="WebApplication1.dialog"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <title>dialog</title>
    <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
    <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body>
    <form id="Form1" method="post" runat="server">
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
    <input type="button" onclick="window.returnValue=TextBox1.value;window.close();" value="確定">
    <input type="button" onclick="window.close();" value="取消">
    </form>
    </body>
    </HTML>
      

  2.   

    不好意思忘记说了,点主窗体的按钮时要将一些值放进Session里面,并传到模式窗体中,
      

  3.   

    那樣的話你干脆在main.aspx中加一個服務器端的Button,代碼可以這樣寫:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Session("A") = 1
            Session("B") = 2
            ...
            Page.RegisterStartupScript("", "<script>var value=window.showModalDialog('dialog.aspx');if(value&&value!='') Label2.innerText=value;</script>")
        End Sub
      

  4.   

    TO:ljmay168(軍) 
    模式窗口的值怎么取回?
      

  5.   

    父窗体:
    strScript="<script language=javascript>document.getElementById("TextBox1").innerText=window.showModalDialog('../Workflow/DownUser.aspx?UserID='+escape("+base.Visitor.uploaddown+")+'&WorkFlow=Upload','','center:yes;dialogWidth:400px;dialogHeight:150px;help:no;status:no');objButton=document.getElementById('btn_downflow');focus(objButton);objButton.click();</script>";
    父窗体打开一个模式窗体DownUser.aspx,传一个变量UserID给子窗体,在父窗体中有一个TextBox1控件用来得到子窗体的返回值。
    在子窗体中用Request["UserID"].ToString()得到父窗体传过来的值
      

  6.   

    模态窗口用return value返回一个值,在父窗口中 var s=window.showModalDialog ("default.aspx"),s得到的就是返回值,你可以通过hidden又把值传给弹出窗口