【发布时间】:2011-12-11 15:46:35
【问题描述】:
我正在用 asp.net 和 c# 开发一个网站。我对 javaScript 不是很熟悉,但我在某些事情上使用了一点。为了创建一个弹出窗口,我使用了以下 javaScript 代码:
<script type="text/javascript" language="javascript">
function OpenCallUpdatePop(popUrl) {
CallUpdatePop = window.open(popUrl, 'callUpPop', 'toolbar=no, location=yes, scrollbars=yes, width=900, height=700')
setTimeout('CallUpdatePop.scroll(0,100)', 1000)
}
</script>
参数popUrl由以下c#代码填充:
string updateUrl = string.Format("UpdatePopUpPage.aspx");
ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script language=JavaScript>OpenCallUpdatePop('" + updateUrl + "');</script>");
我在页面上设置了一个计时器,在会话超时前几秒钟,以便重定向到 FormsAuthentication.SignOut(); 的注销页面。发生。 LogOut 页面的 Response.Redirect() 在子窗口中不起作用,所以我尝试了一个 javaScript 函数:
function closeThis() {
self.close()
}
从以下 c# 尖锐代码中调用:
protected void timerLogOut_Tick(object sender, EventArgs e)
{
ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<scriptlanguage=JavaScript>closeThis();</script>");
}
页面不会关闭,而是重定向到默认页面,即登录页面,但我希望它重定向到登录页面。 我怎样才能让子页面关闭或将其重定向到 LogOut 页面或任何其他页面?另一种可能性是从 c# 代码更改 web.config 默认页面的设置,以便页面重定向到我想要的位置,这可能吗?
【问题讨论】:
-
当您的页面重定向时,是什么代码导致了重定向?听起来您只是在 会话超时后发回,这会自动重定向到登录 - 而不是您想要的。顺便说一句 - String.Format 的使用是最奇怪的地方。
标签: c# asp.net redirect childwindow