请帮我看看这段代码怎么用,在一个英文网站上复制的,乱整了半天,没整出个所以然。
本帖最后由 u014091973 于 2014-03-14 03:03:44 编辑
平台:VS2010 WEBFORM
一、以下是我的测试代码,发布后,刚进入页面,操作正常,5分钟不操作页面,然点Button1,结果Label1显示就无反应了。
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server"/>
</ContentTemplate>
</asp:UpdatePanel>
二、详细说明:我用Updatepanel局部刷新时,发布网站前,本地测试各大浏览器正常跑,网站发布后,就只有在FIRFOX下出问题,在FIRFOX中刚开始操作没什么问题,但是等5分钟不操作页面,然后再点Updatepanel中的按钮刷新,结果再怎么点按钮,打死没反应,用FIRFOX检测说是:
Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求时出现未知错误。服务器返回的状态码为: 0
然后我就查关问题所在,就在这个网站找到以下这段代码,最苦闷的是我一本正经的整啊整,结果还是不知道怎么用
if ($get("buttonName").dispatchEvent)
{
var e = document.createEvent("MouseEvents");
e.initEvent("click", true, true);
$get("buttonName").dispatchEvent(e);
}
else
{
$get("buttonName").click();
}
所以,请各位仁兄,帮帮我。
------解决方案--------------------你有这功夫不如直接ajax了
------解决方案--------------------5分钟不操作页面应该是 验证内容过期了。
------解决方案--------------------这么简单的页面 asp.net ajax都有问题,是不是firefox版本太老了?
------解决方案--------------------2#,3#说得对,用ajax方便多了
------解决方案--------------------不用搞这么复杂,拖一个LinkButton放在一个隐藏层里面,然后页面生成html就自动带有js方法__doPostBack
然后所有js都可以通过__doPostBack进行回传事件
------解决方案--------------------服务端的异常处理完善一下
最重要的是你要让问题完整重现,然后调试