2010-06-11 4 views
1

JQuery와 ASP.NET UpdatePanel 및 ScriptManager를 사용하는 ASP.NET 사이트가 있습니다. 특히 한 페이지에, 나는 자바 스크립트 오류가 발생합니다 :ASP.NET Javascript 오류 :: sys.webforms.pagerequestmanagerservererrereception

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

게시글을 업데이트했지만 테스트 서버에 코드를 게시 할 때만 내 개발 환경에서이 오류가 발생하지 않습니다. –

2

나는이 동일한 문제가 있었고 마침내 UpdatePanel이없는 기본 양식이있을 때까지 모든 AJAX 컨트롤을 제거하여이 문제를 해결했습니다.이 작업은 실제로 발생하는 서버 측 오류를 숨 깁니다. 그때 오류가 뒤에 코드에서 순수한 C#의 문제였다.

+0

이것은 나를 구해 냈다. 나는 잠시 동안이 이슈에 대한 내 머리를 터뜨 렸고, 그렇게함으로써 코드의 문제를 바로 지적했다. 감사 – Eliseo