在A窗口中(父窗口)中有个datagrid,我想点击datagrid中的“查看”连接就弹出一个详细信息的窗口(B窗口,子窗口)。
之前用window.open()这个方法会改变父窗口的样式,之后用的Page.ClientScript.RegisterStartupScript()方法,是可以打开新的窗口,但是我父窗口中的数据被锁定了,父窗口中的分页就动不了了。而且在子窗口中“返回”按钮后,父窗口被刷新了。我想实现:在父窗口中弹出一个子窗口,不改变父窗口的样式且不被锁定,当子窗口返回到父窗口时也不刷新父窗口,这样可以实现吗?

解决方案 »

  1.   

    漂浮层吧。这样父窗体还可以操作。子窗体也可以做效果并且可以做个交互。做交互必然要做一次提交响应。防止刷新的办法就是 ajax 无刷新面板
      

  2.   


        <script type="text/javascript">
    function show(name)
    {
        window.showModalDialog("v.aspx?v_name="+name,"","status=no;dialogWidth=400px;dialogHeight=300px;menu=no;resizeable=yes;scroll=yes;center=yes;edge=raise");
    }</script>
      

  3.   

    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('xxxxx.aspx?a=" + a + "','_blank')</script>");
      

  4.   

    我记得jq有这个效果
    百度下jq弹窗稍微改下就可以背景不锁定
      

  5.   

    关闭子窗口要刷新父窗口,你子窗口关闭的时候写代码去刷新父窗体就行了 [js] window.opener.reload()
      

  6.   

    或者用jquery
    参考
      

  7.   

    谢谢各位提供的方法,我是一个刚开始写代码的,所以有没什么简单的方法,可以实现:通过A窗口中的datagrid中的“查看”弹出新的页面,在弹出新页面的同时保持父页面不被锁住和刷新??
      

  8.   

    试试这个吧
    <a href="javascript:void(window.showModalDialog('Help.aspx','_blank','height=800,width=900,status=no,toolbar=no,menuban=no,scrollbars=no,location=no'));"></a>
      

  9.   

    谢谢各位提供的方法,后来重新找了个方法,<%#Eval("xxx.aspx")%>来实现了。不过有哪位高手可以详细讲下datagrid的分页用法吗?以及关系到一起的查询操作?谢谢了