Ошибка JavaScript в ASP.NET :: sys.webforms.pagerequestmanagerservererrorexception - PullRequest
1 голос
/ 11 июня 2010

У меня есть сайт 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

ScriptResourse.axd Код: 0

Edit: Эта ошибка не возникает в моей среде разработки, только когда я публикую код на тестовом сервере.

Вот что на главной странице:

<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 ]

2 голосов
/ 19 января 2012

У меня возникла та же проблема, и я наконец решил ее, удалив все элементы управления AJAX, пока у меня не появилась базовая форма без UpdatePanel (это скрывает истинную ошибку на стороне сервера, которая происходит). Оказывается, тогда ошибка была чисто проблема C # в коде позади.

1 голос
/ 11 июня 2010

Это ошибка в коде на стороне сервера.Если вы запускаете отладку (с ошибками), вы должны получить номер строки.В качестве альтернативы, вы можете сканировать ваш программный код на наличие строки кода, которая использует параметры index и length.Это похоже на какой-то вызов манипуляции со строкой, и значение length либо отрицательно, либо больше длины строки, над которой вы работаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...