我在ItemDataBound中的添加了一个双击事件打开模式窗口,用于显示一条记录的详情。 e.Item.Attributes.Add("ondblclick", "var bRef=window.showModalDialog(detail.aspx?issueid=" + ID + "','','dialogHeight:550px;dialogWidth :550px;help:no;toolbar:no;status:no;');if(bRef==true){window.location=window.location;}");
但每条记录在进入模式窗口后都只绑定一次数据,如双击ID为“1”的记录后它会进入模式框口绑定。但当修改了ID为“1”的记录后它依然会显示原来的数据,而不会再重新绑定了。
我要怎样让它每次进入模式窗口的时候都会自动绑定一次呢??if (!Page.IsPostBack)
{
      databindinfo();
}

解决方案 »

  1.   

    提交修改的数据的时候刷新一下父窗体,
    parent.window.location.href='url....'
    或者这样:window.dialogArguments.location.reload();
    也可以像像下面这样:a.htm:   
        
      <form   name="form1"   method="post"   action="">   
          <input   type="button"   name="Submit"   value="按钮"   onClick="javascript:if(showModalDialog('b.htm')!=''){alert('注意看,我现在被刷新了,呵呵!^_^');location.reload();}">   
      </form>   
        
      b.htm:   
      <script>   
      window.returnValue="yes"   
      //你把yes换为空,上个页面就不会刷新,不为空就会刷新。   
      </script>
      

  2.   

    你这个是IE 缓荐的问题  在你的window.showModalDialog 地址后面加个随机的参数  可以是日期 和其它的 
      

  3.   

    哦,如果是缓存问题就在showModalDialog 窗口的page_load里加这么一句就可以解决了:
    Response.Expires=0;
    一般情况下,当用户请求WEB服务器时,服务器把请求回复给客户端。在客户端,浏览器把缓存作为一种加快速度的策略,就是当请求时先检查缓存的情况,如果有就直接调缓存了,而不请求服务器了。
    在WEB程序设计中,有时为了防止重复的提交或者严格的次序等,必须让用户的数据立即在使用后就过期,当用户后退时就显示过期而不能继续使用。也算是为安全考虑的吧。
    一般,response.expires写在页面的最上端,后面跟的是一个时间,就是过期的时间,0表示立即过期。 
      

  4.   


    谢谢这位大哥,刚刚试过了,还是不行~~~~
    不知道怎样清空Request.QueryString["issueid"].Trim()里面的值。
      

  5.   


    谢谢这位大哥,刚刚试过了,还是不行~~~~
    不知道怎样清空Request.QueryString["issueid"].Trim()里面的值。
      

  6.   


    谢谢这位大哥,刚刚试过了,还是不行~~~~
    不知道怎样清空Request.QueryString["issueid"].Trim()里面的值。
      

  7.   

     e.Item.Attributes.Add("ondblclick", "var bRef=window.showModalDialog(detail.aspx?issueid=" + ID + "','','dialogHeight:550px;dialogWidth :550px;help:no;toolbar:no;status:no;');if(bRef==true){window.location=window.location;}");动态绑定ID 试试行不
      

  8.   

    Response.Expires=0;
    不知道这一句用javascript脚本怎么写。
    因为当详情页面被关闭后,并没有进入主页的page_load()事件里面,
    所以也没有执行Response.Expires=0
      

  9.   

    是写在子页面的,showModalDialog的页面,也就是detail.aspx这个页面。
      

  10.   

    把Response.Expires=0;加在子页面就可以了.