Sys.WebForms.PageRequestManagerServerErrorException: ссылка на объект не установлена ​​для экземпляра объекта - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть приложение в веб-формах ASP.Net 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>

Я скопировал код приложения на другой сервер, и все работало без проблем.Я сравнил 2 сервера и не заметил различий в настройках IIS между 2 серверами.Как я могу решить эту проблему, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...