我用javascript的showModalDialog弹出对话框,里面是asp.net页面,上面有一个服务器控件,我一点触发服务器事件,就会弹出一个新的和这个asp.net页面一样的窗口,如何避免?

解决方案 »

  1.   

    在<body>之后加入<base runat=server target="_self">
    试试!
      

  2.   

    <head runat="server">
        <title>无标题页</title>
        <base target="_self" />    
    </head>
      

  3.   

    比较好的解决方法: 1、显示对话框: 
      在jscript脚本文件中加入:  
        function OpenEditWin(frmWin,width,height)  
      {        
       var me;  
       // 把父页面窗口对象当作参数传递到对话框中,以便对话框操纵父页自动刷新。  
       me = window;  
       // 显示对话框。  
       window.showModalDialog(frmWin,me,'dialogWidth='+width +'px;dialogHeight='+height+'px;help:no;status:no')  
      }  
       在C#中调用 : 
    cmdAdd.Attributes.Add("onclick","javascript:OpenEditWin('" + Session["showForm"] + "',540,400)");  
     很多方法是用 Response.Write或者RegisterStartupScript 来实现,但是都存在问题,如显示对话框时页面是空白、刷新页面的时候弹出对话框等。 
    在对话框中加入: function onsubmit() // 强制本窗口提交  
      {  
       document.Form1.target="_self";  
      }  
     2、关闭对话框  
        Response.Write("<script language='javascript'>");  
       Response.Write("window.close()");  
       Response.Write("</script>");  
     3、对话框关闭后,执行更新操作 
       在对话框的关闭事件中加入:  
      Response.Write("<script language='javascript'>");  
       Response.Write("window.close()");  
       Response.Write("</script>");  
      

  4.   

    include_me(丁一) ( ) 信誉:99  2007-07-25 16:51:58  得分: 0  
     
     
       <head runat="server">
        <title>无标题页</title>
        <base target="_self" />    
    </head>
      
     
      

  5.   

    showModalDialog模式窗口提交打开新页面的解决办法 
    <script language="javascript"> window.name="win_test" 
    </script> 
    <form action="" target="win_test"> 
    </form> 

    <BASE target=_self> 
    参考
    http://380326576.qzone.qq.com/
      

  6.   

    UP
    我遇到和楼主一样的问题了,我的是在showModalDialog窗口中打开一个报表页面,当点击打印时便生成一个内容一样的正常页面.其实这个页面是多余的,但不知道怎么去?
    呵呵
      

  7.   

    我是在.ASCX文件中使用,
     <base runat=server target="_self"></base> 
    这个方法试了,没有效果的啊!!!