界面说明:
父页面(CangKuEdit.aspx)中,按“新增”(id=imgbtnAdd),弹出CangKuAdd.aspx子页面。
子页面(CangKuAdd.aspx )中,按“确定”(id=btnSubmit),新增数据到数据库、关闭子页面、刷新父页面DataGrid 以反映数据的异动,注意只能刷新DataGrid,其他控件里输入的值要保留!
------------
cnblogs是有这个例子的,但是在子页面点击确定时,窗体未关闭,并且未刷新父页面datagrid.
Response.Write("<script>window.opener.document.all.imgbtnAdd.fireEvent('ondblclick');window.close();</script>");请大家参考
http://www.cnblogs.com/carekee/articles/1738901.html请哪位大哥 给个具体的事例。小弟新学

解决方案 »

  1.   

    这个实现起来一言难尽,不过既然你要做局部刷新那就先学学ajax,然后用把取回来的数据通过js填充到DataGrid位置,或者把父页面的DataGrid放iframe里显示,关闭子页面的时候刷新父页面里的这个iframe
      

  2.   

    这个好做,你先用ajax,.net中简单,画一个updatepanel,将grid放入中,子窗口中关闭时调用填充grid事件。这个可以用js模拟点击某按钮或是直接调用父窗口下的__doPostBack(eventTarget, eventArgument)
      

  3.   

    第一个问题传递ID第二个问题就是弹出框 子刷父的 window.opener.location.reload();
    看JS弹出框操作
      

  4.   

    我是aspx页面。  各位大哥 能给出具体的代码么?谢谢大家了。。真的很急 ajax没怎么学过
      

  5.   

    ajax上手很快的。实在不行 就按1L说的 嵌套个框架
      

  6.   

    父页给个LINKBUTTON 在后台为其添加点击事件,刷新GRID,你在子页parent.document.getElementById("LINKBUTTON 的ID").onclick();
      

  7.   

     PageTool.AddJavaScript(this, "parent.document.getElementById('Button2').onclick();window.close();");
    Response.Write("<script>parent.document.getElementById('Button2').onclick();window.close();</script>");请问我如上2个,都在子页的button里  为什么没反映呢? 子页的窗体都未关闭。
      

  8.   

    新增成功以后调用下面的代码:
    Page.ClientScript.RegisterStartupScript(this.GetType(), "scripts", "<script>opener.location.reload();</script>");
    重新刷新父窗口,这样父页面中的datagrid自然也就跟着重新加载了……
      

  9.   

    楼主可以用网页对话框在一个父页面弹出网页对话框,然后关闭网页对话框刷新父页面的datagrid.?我做过些这样的例子
      

  10.   

    这个效果还是比较好的,JQuery AJAX……都可以不用
      

  11.   

    那你就用__doPostBack(“”,“”)