var sURL = "../include/sample_srchuriage.aspx";var vArguments = window;var sFeatures  = "dialogWidth:600px;";
sFeatures += "dialogHeight:400px;";
sFeatures += "center:yes;"; 
sFeatures += "help:no;";sFeatures += "resizable:no;";
sFeatures += "status:yes;";sFeatures += "scroll:no;";
sFeatures += "unadorne:no;";var vReturnValue = window.showModalDialog(sURL, vArguments, sFeatures);打开新页面后,新页面的服务端控间的事件不响应了!如何解决?

解决方案 »

  1.   

    这个问题我遇见过多次,你去检查下该.aspx文件的html代码中是否缺少“ <form id="Form1" method="post" runat="server">” ,这样一句类似的话,使用dreamware等工具自动生成的页面可能会把某些服务器端控件包含进html控件,所以失去了事件响应
      

  2.   

    为了防止缓存,可以在页面的顶端添加 Response.Expires = -1 
    使用java提供的方法,在jsp或者servlet中都可以 <% response.setHeader("Pragma","No-cache"); 
    response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0);
     %> 使用HTML标记,如下面: <HEAD> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="0"> 
    </HEAD> 
      

  3.   

    在你的Page_Load里面加上下面的话:
      If Not Page.IsPostBack Then
                                   Page.Response.Cache.SetExpires(Date.Now.AddYears(-1))                          End If
      

  4.   

    因为ShowModleDialog读的都是用户本地的缓存。所以你要加上我上面的话,让用户本地页面过期,它就可以回传服务器了。
      

  5.   

    设置你的新页面
    <head
    <base target="_self">
    </head>如果还是不行的话,请将新页面在IFrame中执行
      

  6.   

    以上方法除了IFrame,都不好用!但又不能用IFrame!不管怎么样,都谢谢大家帮忙!散分!
      

  7.   

    这个问题我经历过,现在知道怎么做了,给你看看我的代码吧:
    <%@ Page language="c#" Codebehind="FrmIRpt.aspx.cs" AutoEventWireup="false" Inherits="FrmRpt" %>
    <%@ OutputCache Duration="1" VaryByParam="*" %>     //加上这句
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>Test</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    <base target="_self">                     //加上这句
    </HEAD>