Sys.WebForms.PageRequestManagerServerErrorException:对象引用未设置为对象的实例

时间:2019-02-22 14:57:09

标签: c# html asp.net ajax

我在ASP.Net Web表单2.0中有一个应用程序。

当我单击页面时,页面上有一个链接,应该弹出的窗口没有发生,并且我在控制台中看到以下错误消息:

  

“ Sys.WebForms.PageRequestManagerServerErrorException:对象引用   没有设置为对象的实例。”

这是HTML :(即使我注释掉了这部分代码也不能解决问题):

  var pageReqMgr = Sys.WebForms.PageRequestManager.getInstance();
   pageReqMgr.add_endRequest(function() {
    RegisterDefaultBehaviour();
});

这是背后的代码:

protected void Page_PreRender(object sender, EventArgs e)
{
    ScriptManager sm = new ScriptManager();
    try
    {
        if (this.Page.Master.FindControl("ePINRequestScriptManager") != null)
        {
            sm = (ScriptManager)this.Page.Master.FindControl("ePINRequestScriptManager");
            sm.RegisterPostBackControl(btnSubmitYes);
        }
    }
    catch (Exception ex)
    {
        Logger.ErrorException(ex.ToString(), ex);
        Response.Redirect(URLManager.ErrorUrl, true);
    }
    finally { sm = null; }
}

protected void Page_Load(object sender, EventArgs e)
{
    try
    {                        
        if (!Page.IsPostBack)
        {                
            BindDropDowns();
            RegisterConfirmBoxJS();

        } 
    }
    catch (Exception ex)
    {
        Logger.ErrorException(ex.ToString(), ex);
        Response.Redirect(URLManager.ErrorUrl, true);
    }
}

这是在我的主页上:

<div>
    <cc1:ToolkitScriptManager ID="ePINRequestScriptManager" runat="server" AsyncPostBackTimeout="3000"
        EnablePartialRendering="true" LoadScriptsBeforeUI="true">
    </cc1:ToolkitScriptManager>
</div>

我尝试通过将母版页中的div更改为以下代码来尝试此处提到的其他解决方案,但是它不起作用:

<div>
  <cc1:ToolkitScriptManager ID="ePINRequestScriptManager" runat="server" ScriptMode="Release" AsyncPostBackTimeout="3000"
        EnablePartialRendering="false" LoadScriptsBeforeUI="true">
  </cc1:ToolkitScriptManager>
</div>

我将应用程序的代码复制到另一台服务器上,并且一切正常,没有任何问题。我比较了两台服务器,但是两台服务器之间的IIS设置没有任何区别。 我该如何解决这个问题?

0 个答案:

没有答案