ASP.NET Javascript错误::sys.webforms.pagerequestmanagerservererrorexception

ASP.NET Javascript错误::sys.webforms.pagerequestmanagerservererrorexception,asp.net,javascript,jquery,ajax,Asp.net,Javascript,Jquery,Ajax,我有一个ASP.NET站点,它使用JQuery、ASP.NET UpdatePanel和ScriptManager。特别是在一个页面上,我发现了一个javascript错误: sys.webforms.pagerequestmanagerservererrorexception: Index and length must refer to a location within the string. Parameter name:length ScriptResources.axd 代码:

我有一个ASP.NET站点,它使用JQuery、ASP.NET UpdatePanel和ScriptManager。特别是在一个页面上,我发现了一个javascript错误:

sys.webforms.pagerequestmanagerservererrorexception: Index and length must refer to a  location within the string.  Parameter name:length
ScriptResources.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>

$(文档).ready(函数(){
$('#')。按钮();
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
函数EndRequestHandler(发送方,参数){
$('#')。按钮();
}
});

这是服务器端代码中的错误。如果运行调试(错误时中断),则应获取行号。或者,您可以在代码后面扫描一行使用and
索引
长度
参数的代码。它看起来像某种字符串操作调用,
length
的值要么为负值,要么大于您正在处理的字符串的长度。

我也遇到过同样的问题,最后通过删除所有AJAX控件来解决它,直到我有了一个没有UpdatePanel的基本表单(这将隐藏正在发生的真正服务器端错误)。然后发现错误纯粹是代码隐藏中的c#问题。

我已经更新了帖子,但是这个错误在我的开发环境中不会发生,只有在我将代码发布到测试服务器时才会发生。这救了我一命,我在这个问题上绞尽脑汁已经有一段时间了,这样做正好指出了代码隐藏的问题。谢谢