我目前正在asp.net vb中支持基于网络的应用。下面这部分代码用于检查会话,并在会话到期后自动注销用户。此外,我有一个安全窗口,在成功登录时弹出,并在刷新或关闭此弹出窗口时注销用户。
问题是,当javascript调用"MasterPage is Undefined"
中的函数时,我发送错误MasterPage.master.vb
。错误发生在代码MasterPage.LogOn()
,MasterPage.GetClientSession()
等上。
以下是我在MasterPage.master文件中的javascript,其中的函数LogOn()
,GetClientSession()
和其他文件位于MasterPage.master.vb文件中。
此问题仅在测试服务器上部署系统时发生,并且在我的本地PC上正常工作。
任何可以提供帮助的人。非常感谢。
<script type="text/javascript" language="JavaScript">
var SessionTime = 0;
var uname = "";
var status = "";
var clientSession = 0;
var spyOn;
function logon()
{
MasterPage.LogOn();
clientSession = MasterPage.GetClientSession().value;
spyOn = MasterPage.spyOn().value;
setTimeout("CheckSession()", 60000);
if (!spyOn)
{
var spyWin = open('spy.aspx','UserSecurity','width=250,height=100,left=2000,top=2000,status=0,scrollbar=no,titlebar=no,toolbar=no');
}
}
function CheckSession()
{
SessionTime = SessionTime + 1;
if (SessionTime >= clientSession)
{
var uname = document.getElementById("ctl00_hdnUser").value;
var status = document.getElementById("ctl00_hdnStatus").value;
var x = MasterPage.SessionEnded(uname, status).value;
alert(x);
window.open("Login.aspx","_self");
}
setTimeout("CheckSession()", 60000);
}
function RorC()
{
var top=self.screenTop;
if (top>9000)
{
window.location.href="logout.aspx" ;
}
}
function LogMeOut()
{
window.location.href="logout.aspx" ;
}
function ShowTime()
{
var dt = new Date();
document.getElementById("<%= Textbox1.ClientID %>").value = dt.toLocaleTimeString();
window.setTimeout("ShowTime()", 1000);
MasterPage.CheckSession(CheckSession_CallBack);
}
window.setTimeout("ShowTime()", 1000);
function CheckSession_CallBack(response)
{
var ret = response.value;
if (ret == "")
{
isClose = true;
window.location.href="login.aspx"
}
}
</script>
答案 0 :(得分:0)
可以通过在支持IIS7的<httphandlers>
上添加处理程序(<system.web>
部分下的<handlers>
和<system.webserver>
部分下的web.config
)以及设置来自&#34;集成&#34;的IIS管理器上的应用程序池到&#34;经典&#34;。