3

我被扔进了一个 ASP.NET 项目,我有一个页面,其中包含一个通过 AJAX 获取的控件。

控件的 Page_Load 函数执行一些必要的逻辑,以从 Query 字符串中获取正确的值。

问题是在 IE 中没有调用 Page_Load 函数。

如果我在其中设置断点,我可以在 FF 中加载页面并观察它停止,但在 IE 中:没有交易。

我是 ASP.NET 的新手(阅读:完全),但我是一位经验丰富的 PHP 开发人员。所以我认为这可能与 IE 执行 AJAX 回调以获取控制权的方式有些不同。

有没有人有任何想法?

干杯

4

6 回答 6

5

这似乎是一个缓存问题,通过执行以下操作解决:

protected override void OnLoad(EventArgs e)
{
    Response.Cache.SetNoStore();
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetExpires(DateTime.Now);
    Response.Cache.SetLastModified(DateTime.Now);
    Response.Cache.SetAllowResponseInBrowserHistory(false);
    base.OnLoad(e);
}
于 2009-01-15T00:26:20.780 回答
1

也许尝试调试 javascript 以查看它是否曾尝试在 IE 中获得控制权?如果你可以的话。更好的是,在 Fiddler 中观看。 http://www.Fiddler2.com

于 2009-01-14T20:26:31.560 回答
1

如果是缓存,您应该使用 OutputCache 指令将其关闭:

<%@ OutputCache Duration="0" VaryByParam="None" %>
于 2009-01-15T00:34:15.070 回答
0

我会尝试使用IE 开发人员工具栏来帮助调试 IE 问题,但我认为你在正确的轨道上。

也可以在IE的高级选项中开启脚本调试,对脚本进行调试。

于 2009-01-14T20:13:23.163 回答
0

Page_Load 里面是什么?EventWireup 在 ASPX 页面上设置为 false,或者它在代码中。

于 2009-01-14T20:14:23.847 回答
0

IE8 将让您调试 javascript。AFAIK,您所解释的不应在典型设置中发生,因为服务器处理来自所有浏览器的请求相同。您确定您位于正确的断点和正确的页面上吗?

也许您可以发布一个 page_load 的小样本以及您在哪里设置断点以及回调它的 JS?

供您参考,这里是ASP.NET 页面生命周期

于 2009-01-14T20:40:39.940 回答