现在有个项目,要做这样的效果,A页面上,点击按钮弹出一个窗口(窗口里面可以查询商家的名称和编号),点击窗口里面的一条记录,窗口关闭,商家名称添加到A页面上面的textbox控件里。
请大侠们提供思路,最好是能有源码告知,特急!!!!
【小窗口里面我用的是gridview显示数据】

解决方案 »

  1.   

    模态窗口
    http://blog.sina.com.cn/s/blog_549941cb0100p9wn.html
      

  2.   

    get,post,viewstate,window.open(),window.showmudledialog(),
    session,cookir,transfer,application,crosspostpage.
      

  3.   


    这个是打开你的那个小窗口
    function OpenAddWin() 
            {   
                var returnVal  =window.showModalDialog("ZoneInfo.aspx?flag=add",window, 'dialogWidth= '+"700"       + 'px;dialogHeight= '+"400"+ 'px;help:no;status:no;resizable:no;scro ll:no; ') 
                
                if(returnVal == 'True') { 
                    //window.dialogArguments.location.reload();   
     
                }
            }这个是你窗口关闭时间中的写法Response.Write("<script> window.returnValue=1;window.close();</script>");
    然后到你的显示画面得到上面javascript的值放入textbox中!
      

  4.   

    这样做,在窗口中进行查询,有问题,它会跳转到ZoneInfo.aspx页面,不在这个窗口
      

  5.   


    function OpenAddWin() 
            {   
                var returnVal  =window.showModalDialog("ZoneInfo.aspx?flag=add",window, 'dialogWidth= '+"700"       + 'px;dialogHeight= '+"400"+ 'px;help:no;status:no;resizable:no;scro ll:no; ') 
                
                if(returnVal == 'True') { 
                    //window.dialogArguments.location.reload();   
     
                }
            }这段代码是你的A页面按钮激发的!至于ZoneInfo.aspx就是你的要查询的小窗口
    这个效果不是跳转 而是在当前页面打开一个模态的小窗口,假如打开的小窗口为B 那个B就在A的上面打开在B没有关闭的时候A画面不能进行编辑
      

  6.   

    我试过了,我在弹出窗口B,窗口B上也有一个简单查询,我点击B窗口上的查询后,会弹出一个B页面,也就是说A页面上会出现一个B窗口和一个B页面,这种情况
      

  7.   

    试试用一下iframe<form id="form1" runat="server" target="bbc2188">
        <iframe   name="bbc2188"   width="0"   height="0"   frameborder="0"   style="display:   none"></iframe>这个写到你的小画面里面只要写<iframe这段就行 然后在你的form 加target= 内容就是你iframe的name属性
      

  8.   

    关于在窗口查询弹出页面的问题解决了,只要在窗口调用的页面的<head>之间加<base target="_self" />指定还是本身就ok了
      

  9.   

    http://www.cnblogs.com/skykang/archive/2010/06/04/1751261.html   JS解决。  父子页面传值。 
      

  10.   

    ------------------------------
    demo://打开一个子窗体
    <script type="text/javascript"> 
        function fnOpen()
        {
            var returnTarget = window.showModalDialog("Default3.aspx",oForm.oArguments.value)
            if(returnTarget != undefined && returnTarget.length > 0) 
            {
                //document.location = returnTarget;
                oForm.oArguments.value=returnTarget;
                oForm.TextBox1.value= returnTarget;
            }
        }
        </script>
    </head>
    <body>
        <form id="oForm" runat="server">
            <table>
                <tr>
                    <td>
                        <input type="text" name="oArguments" id="oArguments" />
                        
                        <input type="button" id="button" value="打开子窗体" onclick="fnOpen()" /></td>
                </tr>
            </table>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        </form>//子窗体的方法,给ID为oArgs的控件赋于传过来的值;
        <script type="text/javascript"> 
        window.onload=fnInit;
        function fnInit()
        {
            lb.innerHTML =window.dialogArguments;//not runat ="server"
            form1.oArgs.value=window.dialogArguments;//runat ="server" 获取父窗体传递过来的值
        }
        function exit() 
        {
            window.returnValue = form1.oArgs.value; //返回值
            window.close();
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                传递过来的值: <input type="text" id="oArgs" runat ="server"/><span id = "lb"></span>
                <input id="button" name="button" type="button" value="关闭窗口" runat ="server" onclick="exit()"/>
            </div>
        </form>----------------------------
    使用window.openg()如果是父窗体是使用:window.open()打开子窗体的,那么还可以使用:
    window.opener.document.getElementById('name').value = "xxx"
    这条语句就可以修改父窗体中控件的值了。
      

  11.   

    现在问题是:窗口打开了,但是点击gridview的某一行,值传递不到A页面上的textbox控件里
    gridview 点击获取值的解决办法以及获取了数据怎样传递到A页面上的控件里
      

  12.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                string id = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "id"));
                string no = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "no"));
                HyperLink hl1 = ((HyperLink)e.Row.FindControl("hylinNo"));            RadioButton rb = (RadioButton)e.Row.FindControl("radSelect");
                if (rb != null)
                {
                    rb.Attributes.Add("onclick", "judge(this)");
                }
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    hl1.NavigateUrl = "ZoneInfo.aspx?id=" + id + "&no=" + no + "&flag=info";            }        }
    gridview加载的时候就给上面的连接附上值个连接 然后再你界面上给这个连接加一个onclick方法让他关闭本画面
      

  13.   

    没有用 能不能给个完整的案例 效果技术A页面有个TextBox,一个Button,点击Button弹出一个(模态)窗口,窗口是调用B页面(B页面一个TextBox,一个Button按钮,输入条件查询到数据库相应的数据,读取到Gridview中),点击Gridview的一行获取该行的一列值,该值显示到A页面上的TextBox中,同时窗口也关闭
      

  14.   

    跨页传值是比较麻烦的
    特别还要从子页传参触发父页的代码
    感觉lz这个需求可以换个思路的
    不要用iframe一般都是利用js  div 来形成弹出窗口的效果
    但是实际代码都是在同一页的我去写个例子
      

  15.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>例子</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script>
    $(function(){
    $("#btn").click(function(){
    $("#div1").show();
    })

    $(".AAA").click(function(){
    $("#text1").val($(this).text());
    $("#div1").hide();
    })
    })
    </script>
    </head>
    <style>
    #div1{display:none;position:absolute;top:40px;left:100px; border:solid 1px #999;}
    li{ cursor:pointer;}
    </style>
    <body><input type="text"  id="text1" value="xxx" />
    <input type="button" id="btn"  />
    <div id="div1">
    <ul>
    <li class="AAA">AAAAAAAAAAA</li>
    <li class="AAA">BBBBBB</li>
    <li class="AAA">CCCCA</li>
    <li class="AAA">DDDDAAAA</li>
    <li class="AAA">EEEEEEAAA</li>
    <li class="AAA">FFFFFFFFFFFFA</li>
    </ul>
    </div></body>
    </html>
      

  16.   

    http://blog.csdn.net/michaelgong/article/details/6399780 看看这个吧比较简单,也是子窗口与父窗口传值!
      

  17.   

    模拟窗口weebox,google找一下就有,然后js控制。
      

  18.   

    子窗口也可以调用父窗口的控件或者方法的。  
    this.Parent.具体控件或者定义的变量, 但是定义的必须都是public  方法很多。 我常用这个
      

  19.   

    1, A页面
    <script language="javascript" type="text/javascript">
    var returnValue=showModalDialog("MSTW002.aspx");
    //TODO
    document.getElementById("textbox").value=returnValue; //html control
    document.getElementById("<%=textbox.ClientID%>").value=returnValue;//asp.net control
    </script>
    2, 弹出页面
    2.1,
     在<head>里添加<base target=“_self”>
    2.2,
     window.returnValue = 商家名称;
     window.close();
      

  20.   

    [img=http:/