我正在尝试做一些非常简单的事情,并得到了我已经尝试了两天的错误。我有一个简单的ASP按钮,从代码背后调用函数(请参见下文)...,并且收到以下错误。但是只有当我将网站上传到Azure时,它才能在模拟时正确运行。
SCRIPT5007: Unable to get property 'PRM_ServerError' of undefined or null reference
MicrosoftAjaxWebForms.js,第5行字符11118
ASP按钮的定义如下,没什么特别的...
<asp:Button CausesValidation="false" ID="Button1" runat="server" Text="Login" OnClick="radbtn_loginButton_Click" />
后面的代码再次...疯狂的简单...
protected void radbtn_loginButton_Click(object sender, EventArgs args)
{
try
{
string uName;
string uPass;
uName=UsernameBox.Value;
uPass=PasswordBox.Value;
if(uName=="admin" && uPass=="password")
{
Response.Redirect("dsxHome.aspx");
}
else
{
loginMessage.Text="Login Invalid!";
}//end if
}
catch
{
loginMessage.Text="Problem with Login";
}
}
消息标签嵌套在AjaxPanel中...并且我正在站点其他页面的其他地方进行其他Ajax调用...但是最简单的方法正在中断....
有什么想法...我知道我错过了一些愚蠢的事情...
麦可
最佳答案
对于感兴趣的人,该错误发生在调用某些服务器端代码但您的更新面板中的ajax调用期间,但是iis应用程序池已被回收(在部署后发生)。
通过将AsyncPostBackError事件处理程序添加到ScriptManager中,可以在代码中处理该错误。
然后,您可以在发生此错误时将用户重定向到某处,或显示一条弹出消息,说明他们的 session 已过期并且现在已刷新,或者适合您的应用程序的任何内容。
更多信息在这里:https://msdn.microsoft.com/en-us/library/bb398934.aspx
希望这可以帮助某人:)