各位大仙,我想实现向模式窗口传值,然后在返回一个值
a.aspx的按钮触发,将TextBox值传到b.aspx(弹出的模式窗口)的TextBox中,当点击b.aspx上的按钮时将其页面中的TextBox的值返回到a.aspx中的TextBox中.
不知道能否实现,谢谢!
我的最终目的,想操作数据库相关的!最好给段代码
在线等.解决马上结账

解决方案 »

  1.   

    http://topic.csdn.net/t/20041216/04/3649543.html
      

  2.   

    a页
    var returnValue = window.showModalDialog(b.aspx, 1, "status=no;scroll=yes;resizable=yes;help=no;");
            if(returnValue !="0")
            {
                try
                {
                    document.forms[0].ez_schdt.value = returnValue;// for calendar
                }
                catch(e)
                {}
            document.forms[0].submit();
                }b页
     private void CloseWin()
            {
                if (!Page.ClientScript.IsStartupScriptRegistered("clientScript"))
                {
                    Page.ClientScript.RegisterClientScriptBlock(typeof(string), "clientScript", "<script>window.parent.returnValue='" + TextBox1.Text+ "';window.parent.close();</script>");
                }
            }
      

  3.   

    樓主的要求完全可行!
    主窗口   
      private   void   Page_Load(object   sender,   System.EventArgs   e)     
      {     
        Button1.Attributes.Add("onclick",   "var   st=window.showModalDialog('user.aspx?val='+document.all('TextBox1').value);document.all('TextBox1').value=st;return   st;");     
      }     
        
      private   void   Button2_Click(object   sender,   System.EventArgs   e)     
      {     
        RegisterStartupScript("key",   "<script>window.opener=null;window.close(this);</script>");     
      }   
        
        
      子窗口   
      private   void   Page_Load(object   sender,   System.EventArgs   e)     
      {     
        string   str;     
        if   (!IsPostBack)   {     
            str   =   Request.QueryString("val");     
            TextBox1.Text   =   str;     
        }     
      }     
        
      private   void   cancel_Click(object   sender,   System.EventArgs   e)     
      {     
        RegisterStartupScript("key",   "<script>window.returnValue='null';window.opener=null;window.close(this);</script>");     
      }     
        
      private   void   ok_Click(object   sender,   System.EventArgs   e)     
      {     
        RegisterStartupScript("key",   "<script>window.returnValue=document.all('TextBox2').value;window.opener=null;window.close(this);</script>");     
      }
      

  4.   

    ydsunny(小强)
    你的不可以呢,点击按钮不能跳转到b.aspx?
      

  5.   

    ydsunny(小强) 
    一点击a.aspx的Button1页面就什么也没有了而且不能到b.aspx
    谢谢,帮我看看了
      

  6.   

    呵呵,我再給樓主貼過一些代碼,你自己對照。
    a.aspx
    //頁面上有兩個控件:文本框:TextBox1,按鈕:Button1
    protected void Page_Load(object sender, EventArgs e)
        {       
            Button1.Attributes.Add("onclick",   "var   st=window.showModalDialog('user.aspx?val='+document.all('TextBox1').value);document.all('TextBox1').value=st;return   st;");     
        }     
        protected void Button1_Click(object sender, EventArgs e)
        {
            RegisterStartupScript("key",   "<script>window.opener=null;window.close(this);</script>");  
        }
    //b.aspx頁面,有三個控件:文本框:TextBox1,按鈕1:ok,按鈕2:Cancel
    protected void Page_Load(object sender, EventArgs e)
        {
            string str;
            if (!IsPostBack)
            {
                str = Request.QueryString["val"].ToString();
                TextBox1.Text = str;
            }         }
        protected void ok_Click(object sender, EventArgs e)
        {
            string str = "<script>window.returnValue=document.all('TextBox1').value;window.opener=null;window.close();</script>";
            ClientScriptManager cs = Page.ClientScript;
            cs.RegisterStartupScript(this.GetType(), "", str, true);
        }
        protected void cancle_Click(object sender, EventArgs e)
        {
            string str = "<script>window.opener=null;window.close(this);</script>";
            ClientScriptManager cs = Page.ClientScript;
            cs.RegisterStartupScript(this.GetType(), "", str, true);
        }
      

  7.   

    ydsunny(小强) ( ) 
    a页面开始Button1和button2弄混淆了问你一个问题,为什么b.aspx不能传值到a.aspx
    谢谢了
      

  8.   

    呵呵,我檢查了下。可能是我們在CS裡寫代碼的原因。把它們在客戶端實現即可。
    a.aspx頁面如下:
    .........
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>未命名頁面</title>
    <script language="javascript" type="text/javascript">
    <!--function Button1_onclick() {
        var st=window.showModalDialog('b.aspx?val='+document.all["TextBox1"].value);
        document.all["TextBox1"].value=st;
    }// -->
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <input id="Button1" type="button" value="OPEN" language="javascript" onclick="return Button1_onclick()" /></div>
        </form>
    </body>
    </html>b.aspx頁面如下:
    ......
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>未命名頁面</title>
    <script language="javascript" type="text/javascript">
    <!--function Button1_onclick() {
        window.returnValue=document.all["TextBox1"].value;
        window.close();
    }// -->
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <input id="Button1" type="button" value="OK" language="javascript" onclick="return Button1_onclick()" /></div>
        </form>
    </body>
    </html>
      

  9.   

    Click the link to solve your problem.Good luck!