У меня есть приложение в веб-формах 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 серверами.Как я могу решить эту проблему, пожалуйста?