当通过另一个aspx页面的javascript打开aspx时,不会触发PageLoad事件

时间:2011-01-25 11:03:31

标签: javascript asp.net events webpage pageload

我有一个带有2个aspx页面的aspx应用程序。使用JavaScript在第一个aspx页面中单击按钮即可打开第二个aspx页面。问题是,当第二个aspx页面打开时,其Page_load事件不会触发。只有当我刷新第二页时,才会触发第二个aspx页面的page_load事件。

请让我知道可能出现的问题以及触发page_load事件需要采取的措施。

先谢谢

2 个答案:

答案 0 :(得分:5)

在这种情况下(从window.open()调用aspx页面)你必须在页面的OnInit事件中手动附加Page_Load事件:

override protected void OnInit(EventArgs e)
{
    this.Load += new EventHandler(Page_Load);
    base.OnInit(e);
}

protected void Page_Load(object sender, EventArgs e)
{
  // your code here 
}

参考:http://www.vbforums.com/showthread.php?t=249689

答案 1 :(得分:0)

您是否使用showModalDialog打开页面?如果是的话,那就是缓存问题。

如果是这样,那么就会有多种工作方式。有些人建议在查询字符串中添加一个随机数或日期时间到URL,这样它就不会被缓存。

就个人而言,我喜欢这种做法。请在此处http://msdn.microsoft.com/en-us/library/c4yy9w70.aspx确保将其设置为HttpCacheability.NoCache