日期:2014-05-16  浏览次数:20396 次

请帮我看看这段代码怎么用,在一个英文网站上复制的,乱整了半天,没整出个所以然。
本帖最后由 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进行回传事件
------解决方案--------------------
服务端的异常处理完善一下
最重要的是你要让问题完整重现,然后调试