我有一个函数,它利用jquery的post特性向我的注销处理程序发送ajax请求,从而破坏会话(由asp.net设置)并重定向到登录页面:
<script type="text/javascript">
//<![CDATA[
function doLogout() {
var conf = false;
conf = confirm("Really log out?");
if (conf === true) {
$.post("logout.ashx");
}
}
//]]>
</script>
到目前为止,注销链接的功能还不错:用户单击它,会弹出确认框,如果单击“是”,则会加载注销处理程序:
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
With context
If .Session IsNot Nothing Then
context.Session.Clear()
context.Session.Abandon()
End If
.Server.Transfer("default.aspx", False)
End With
End Sub
我试过用
Response.Redirect
同样,没有什么不同的事情发生。
我通过追踪证实了一切正常。没有javascript或asp.net错误。唯一的问题是浏览器中的页面没有改变。
有什么想法吗?