ASP.NET Javascript错误::sys.webforms.pagerequestmanagerservererrorexception
我有一个ASP.NET站点,它使用JQuery、ASP.NET UpdatePanel和ScriptManager。特别是在一个页面上,我发现了一个javascript错误: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 代码:
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#问题。我已经更新了帖子,但是这个错误在我的开发环境中不会发生,只有在我将代码发布到测试服务器时才会发生。这救了我一命,我在这个问题上绞尽脑汁已经有一段时间了,这样做正好指出了代码隐藏的问题。谢谢