Sys.WebForms.PageRequestManagerServerErrorException

时间:2009-08-13 10:26:09

标签: c# asp.net

我正在使用带有c#的asp.net并使用更新pannel以及flash控件我有时会收到错误而不是所有时间都没有页面导航然后plz帮助我

以下是弹出窗口中的大量文件: -

“Sys.WebForms.PageRequestManagerServerErrorException:在服务器上处理请求时发生未知错误。从服务器返回的状态代码为:0”

请帮助我在演示时可能会申请加入

3 个答案:

答案 0 :(得分:5)

我记得的是,在我的情况下,当点击日历控件并将其回发到文本框中的填充值时,会出现此错误。此日历控件位于UpdatePanel中。在此日历控件回发期间,如果我单击一个不在UpdatePanel中的按钮(并导致页面回发),则会发生此错误。

你可以这样说: http://msdn.microsoft.com/en-us/library/bb398934.aspx

通过添加此脚本,您可以避免显示错误。

   <script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args) {
        if (args.get_error() != undefined) {
            var errorMessage;
            if (args.get_response().get_statusCode() == '200') {
                errorMessage = args.get_error().message;
            }
            else {                
                // Error occurred somewhere other than the server page.
                errorMessage = 'An unspecified error occurred. ';                                    
            }
            args.set_errorHandled(true);                
        }
    }
</script>

答案 1 :(得分:3)

错误0表示没有错误。我不知道它为什么会发生,但是当它发生时,我只是将错误标记为已处理而没有任何事情发生。只需添加以下JavaScript,您的麻烦就会消失。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <script type="text/javascript" >
        (function() {
            var prm = Sys.WebForms.PageRequestManager.getInstance();

            if (prm)
            {
                prm.add_endRequest(
                function (sender, args) {            
                    // Any code you want here

                    if(args.get_error() && args.get_error().name === 'Sys.WebForms.PageRequestManagerServerErrorException')
                    {
                        args.set_errorHandled(args._error.httpStatusCode == 0);
                    }
                });
            }
        })();
        </script>
    </form>
</body>
</html>

答案 2 :(得分:0)

我设法使用转发器生成类似的错误,转发器使用交替行,其中一个控件从交替样式中丢失。例如,'Literal1'在<ItemTemplate>中定义,但未在<AlternatingItemTemplate>中定义。我意识到这个问题已经得到了回答,但希望这可以节省一些调试时间。