C# Sys.WebForms.PageRequestManager.getInstance()多次调用(每次请求递增)

C# Sys.WebForms.PageRequestManager.getInstance()多次调用(每次请求递增),c#,ajax,C#,Ajax,我需要在刷新页面上的所有内容之后调用一个函数,并且每次调用该函数时应该只调用一次。所以我写了下面的代码 出于某种原因,在控制台中记录了两次message1+message2之后,我得到了一个“UncaughtTypeError:a[b]不是函数” 如果我将remove_pageLoaded代码移动到console.log(message1,message2)下,它将导致控制台中无限次的日志记录 如果我完全删除“remove_pageLoaded”,则每次添加实例“PageRequestManag

我需要在刷新页面上的所有内容之后调用一个函数,并且每次调用该函数时应该只调用一次。所以我写了下面的代码

出于某种原因,在控制台中记录了两次message1+message2之后,我得到了一个“UncaughtTypeError:a[b]不是函数”

如果我将remove_pageLoaded代码移动到console.log(message1,message2)下,它将导致控制台中无限次的日志记录

如果我完全删除“remove_pageLoaded”,则每次添加实例“PageRequestManager”并在每次请求时递增

我发现了一个非常类似的问题,但这些是我刚才提到并尝试过的答案。 我甚至创建了一个变量,并将Sys.WebForms.PageRequestManager.getInstance()分配给该变量。它也不起作用

function sendMessage(msg1, msg2) 
{
        try
        {

            Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(fnSendMessage(msg1, msg2));
            Sys.WebForms.PageRequestManager.getInstance().remove_pageLoaded(fnSendMessage(msg1, msg2));
        }
        catch (e)
        {
            console.log(e.message+" - Error in sendMessage");
        }

    };

    function fnSendMessage(message1, message2)
    {
        console.log(message1 + message2);           
    };

您应该将对函数的引用传递给
add\u pageLoaded
remove\u pageLoaded
。现在,您正在调用函数并只传递其返回值(未定义,因为它不返回任何内容)。请改为尝试添加页面加载(fnSendMessage)。未获取,请您澄清!