我已经被投入到ASP.NET项目中,并且我有一个页面,其中包含通过AJAX获取的控件。
控件的Page_Load函数需要一些逻辑才能从Query字符串中获取正确的值。
问题是在IE中没有调用Page_Load函数。
如果我输入断点,我可以在FF中加载页面并观察它停止,但在IE中:没有交易。
我很漂亮(阅读:COMPLETELY)是ASP.NET新手,但我是一位经验丰富的PHP开发人员。 所以我认为这可能与IE使用AJAX回调获取控件的方式有些混淆。
有没有人有任何想法?
干杯
答案 0 :(得分: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);
}
答案 1 :(得分:1)
也许尝试调试javascript以查看它是否曾尝试在IE中获取控件?如果你可以的话。更好的是,在Fiddler观看。 http://www.Fiddler2.com
答案 2 :(得分:1)
如果是缓存,则应使用OutputCache指令将其关闭:
<%@ OutputCache Duration="0" VaryByParam="None" %>
答案 3 :(得分:0)
我尝试使用IE Developer Toolbar来帮助调试IE问题,但我认为你走在正确的轨道上。
您还可以在IE的高级选项中启用脚本调试并调试脚本。
答案 4 :(得分:0)
Page_Load里面有什么?在ASPX页面上将EventWireup设置为false,或者它是代码中的内容。
答案 5 :(得分:0)
IE8会让你调试javascript。 AFAIK,您解释的内容不应该发生在典型的设置中,因为服务器处理来自所有浏览器的请求相同。你确定你坐在正确的断点上,并在正确的页面上吗?
也许您可以发布一个page_load的小样本以及设置断点的位置,以及回调它的JS?
供您参考,以下是ASP.NET page lifecycle。