2010-06-11 43 views
1

我有一个使用jQuery和ASP.NET的UpdatePanel和ScriptManager的一个ASP.NET网站。在一个特别的页面,我得到一个JavaScript错误:ASP.NET JavaScript错误:: sys.webforms.pagerequestmanagerservererrorexception

sys.webforms.pagerequestmanagerservererrorexception: Index and length must refer to a location within the string. Parameter name:length 

ScriptResourse.axd 代码:0

编辑: 此错误不会发生在我的开发环境,只有当我的代码发布到测试服务器。

这里是在母版页:

<asp:ScriptManager runat="server" ID="ScriptMgr"></asp:ScriptManager> 

<asp:UpdatePanel runat="server" ID="UpdatePanelMaster"> 
    <ContentTemplate> 

    </ContentTemplate> 
</asp:UpdatePanel> 

在页面中的问题:

<asp:Content ID="ContentHeadEdit" ContentPlaceHolderID="ContentHeadMaster" Runat="Server"> 

    <script type="text/javascript"> 
    $(document).ready(function() { 
     $('#<%= ButtonSave.ClientID %>').button(); 

     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 

     function EndRequestHandler(sender, args) { 
      $('#<%= ButtonSave.ClientID %>').button(); 
     } 
    }); 
    </script> 

</asp:Content> 

回答

1

这是在服务器端代码中的错误。如果你运行调试(打破错误),你应该得到你的行号。或者,您可以扫描您的代码后面的代码行,并使用indexlength参数。它看起来像某种字符串操作调用,并且length的值为负值或大于您正在处理的字符串的长度。

+0

我更新了这篇文章,但是在我的开发环境中,只有当我将代码发布到测试服务器时,才会出现此错误。 – 2010-06-11 15:10:55

2

我有这个同样的问题,最后解决它通过消除所有的AJAX控件,直到我有没有UpdatePanel的一种基本形式(这隐藏了是怎么回事真正的服务器方的错误)。事实证明,错误是在后面的代码纯c#问题。

+0

这救了我,我一直在这个问题上打破了我的头一阵子,这样做指出了我在背后的代码问题。谢谢 – Eliseo 2015-05-05 03:35:28

相关问题