这项目用了ASP.NET AJAX 1.0,今天早上开发时还没有什么问题,中午突然就发现点击分页,点多几次(一般就第2次,操作像这样:点第2页,再点第1页)就出了个对话框
"stack overflow at line:0"
但是这个页根本就没有用到AJAX.只有一个DATAGRID.设了分页,没用到任何AJAX里的东西,连scriptmanger都没有放是怎么回事,查了一下GOOGLE,好多人都有这问题,有的甚至是一个网站运行了快1年,和突然出现这种问题

解决方案 »

  1.   

    有循环调用?  能捕获这个异常么?  在Globa里面取一下Server.GetLastError() 然后看看调用堆栈.
    也可能是override错了东西,比如控件的一些属性,不正确的override可能造成致命后果.
      

  2.   

    跟override相同原因的如果 起函数名起的不好起个和系统事件相同的名字也有机会会形成循环调用.
      

  3.   

    没遇到过分页会有这种情况的,google 了下stack overflow at line:0, 到是有JS 脚本函数命名错误的,帮UP
      

  4.   

    cs文件中是否有严重消耗资源的代码?或者有死循环什么的还有一种可能性就是了Active类的病毒
      

  5.   

    可以考虑别用DATAGRID自带的分页,自带的分页记的好像还要全部把数据读出来才分页的。
      

  6.   

    检查是否递归调用自己
    如,function A()
    {
       A();
    ]
      

  7.   

    用的就是GRIDVIEW自己的分页
      

  8.   

    十分感谢大家的帮助.
    我已经找到问题所在了.我现在详细说说这情况吧.
    我做了一个MASTERPAGE.然后做了一个页套用刚才做好的MASTERPAGE.
    在这个MASTERPAGE中我试验防后退防刷新(没成功),加了一堆代码:
    Response.Buffer = true;
    Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1);
    Response.Expires = 0;
    Response.CacheControl = "no-cache";
    Response.Cache.SetNoStore();
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    就是这堆代码惹的祸.
    这个页中我十分肯定没有用到任何一个AJAX的东西,也没用手写JS.在别的地方也用了这个MASTERPAGE,没有什么问题.
    后来我用排除法,新建了一个工程,把这个页和这个MASTERPAGE的代码全注释掉,然后一步一步地去掉注释.最后发现是这几行关于页面缓存的语句惹的祸.再次十分感谢大家
      

  9.   

    把imges 的 onerror="this.src='images/noimg.gif'"  去掉 就ok