ASP.NET Javascript Error :: sys.webforms.pagerequestmanagerservererrorexception

时间:2010-06-11 14:58:41

标签: asp.net javascript jquery ajax

我有一个使用JQuery和ASP.NET UpdatePanel和ScriptManager的ASP.NET站点。特别是在一个页面上,我收到一个javascript错误:

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>

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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