我想实现的效果是:A页中有个删除按钮,当点击“删除”时弹出询问对话框:是否确定删除?单击确定时,删除记录,并刷新A页面。我是这样做的:A页的删除代码写在后台:string strDel="<a href='#' onclick=\"confirm('确定要删除吗?')?window.open('Delete.aspx?id=1'):null\">""; //单击确定按钮打开Delete.aspx页,执行删除操作Delete.aspx页的代码如下:
....delete语句
Page.Response.Write("<script>window.opener.location.href=window.opener.location.href;window.opener=null;window.close()</script>"); //关闭Delete.aspx页,并刷新A页以上代码运行结果:
确定要删除吗?对话框弹出来了,并且点击确定时也的确删除了记录。唯一没做的是:没有刷新A页。知道的帮忙解答一下,万分感谢

解决方案 »

  1.   

    为何不用reponse.redirect 可能打开时 ie仍取本地缓存,故没有刷新,重定向应该会刷新数据。
      

  2.   

    window.opener 换成 window.parent测试一下
      

  3.   

    多谢各位回复。谢谢To:xjtao(风云之剑) 
    我的delete页面有其他页面用到的。用redirect只能返回某一页To: zhangfire(色狼也可以学.net) 
    这个会弹出“重试”类的对话框To:Qqwwee_Com(阿宽)
    我试了一下,也没有刷新
      

  4.   

    可以把刷新的脚本写入html中,然后调用,就像DropDownList设置AutoPostback一样
      

  5.   

    Page.Response.Write("<script>window.opener.location.replace(window.opener.location.href);window.opener=null;window.close()</script>");
    试试看这样呢
    或者用window的navigate方法
      

  6.   

    在按钮的onclick事件里加入javascript:opener.refresh();
      

  7.   

    试试这个:
    Page.Response.Write("<script>window.opener.document.Form1.submit();window.opener=null;window.close()</script>");
      

  8.   

    Delete.aspx页的代码修改一下:
    private void PageLoad{
      if ( !IsPostBack ) {
            //记录请求页的地址
           ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
          。
      }}//在删除方法中,如果删除成功
    //返回上次请求的页面
        Response.Redirect((String) ViewState["UrlReferrer"]);
      

  9.   

    TO: chinagy(会员GY) 
    我取不到Request.UrlReferrer.ToString()这个值。
    提示:未将对象引用设置到对象的实例。
      

  10.   

    看看这个吧
    http://www.bbchome.com/thbbs/get.asp?get=65049