2010-06-11 49 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

相關問題