退出登陆是再常见不过的了,先清除Session,再转到登陆页面,
Session.Abandon();
Response.Redirect("Login.aspx");
但是这样点点击浏览器的后退仍然可以回到刚才的页面,这可不行,在网上找了一下,也有不少人遇到这样的问题,试了一些方法,都不管用。不过最后还是找到,共享一下。
http://blog.csdn.net/lhypang2006/archive/2008/03/11/2170751.aspx
Session.Abandon();
Response.Write("<script>window.location.href='Login.aspx'</script>");
很简单,就是把Response.Redirect改为Response.Write,输出脚本,实现跳转。
再共享一个,也是关于退出的。
妙用Asp.Net中的HttpHandler
上面的方法我觉得很好,写一个类继承IHttpHandler
public class LogoutHttpHandler : IHttpHandler
{
/// <summary>
/// 通过实现 IHttpHandler 接口的自定义 HttpHandler 启用 HTTP Web 请求的处理。
/// </summary>
/// <param name="context">HttpContext 对象,它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Request、Response、Session 和 Server)的引用。 </param>
public void ProcessRequest (HttpContext context)
{
FormsAuthentication.SignOut();
context.Response.Redirect("Login.aspx",true);
}
再修改web.config,在<system.web></system.web>中增加如下脚本:
<httpHandlers>
<add verb="GET" path="Logout.aspx" type="LogoutHttpHandler" />
</httpHandlers>
文章中把类编译成了dll,也可以只在App_Code中添加这样的类就好了。
还有上面的ProcessRequest 并没有清除Session。而且也是用Response.Redirect,点击后退也是可以回到原来的页面的。我改了一下
public class LogoutHttpHandler : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
//FormsAuthentication.SignOut();//这样可以不用
context.Session.Abandon();
context.Response.Write("<script>window.location.href='Login.aspx'</script>");
}
}
这样不用再加一个页面Logout.aspx,退出的代码也简单。
protected void Exit_Click(object sender, EventArgs e)
{
Response.Redirect("Logout.aspx");
}
原文地址:(http://www.diybl.com/course/4_webprogram/asp.net/netjs/20090412/164906.html)
分享到:
相关推荐
解决方案2:禁用浏览器后退键 [removed] window.history.forward(1); 结果和方案一一样的结果,pad上没效果 解决方案3:Response.Write(“[removed][removed].replace(‘login.aspx’)[removed]”);仍旧可以后退,...
在Web开发过程中,有时候出于用户体验或者安全性的考虑,开发者可能会选择禁用浏览器的后退按钮功能。例如,在某些登录验证后的页面,为了防止用户通过后退按钮回到登录前的状态,从而绕过登录验证;或者在某些表单...
7. **退出浏览器**:单击退出按钮将关闭浏览器,结束当前的浏览会话,保护孩子的隐私。 8. **静音控制**:音量图标可控制浏览器中的声音,避免噪音打扰,也可以防止孩子在观看视频时声音过大。 9. **音量调节**:...
在使用Internet Explorer 8(以下简称IE8)时,用户可能会遇到一个问题,即浏览器的后退键突然失效,无法像往常一样浏览历史记录返回到上一个页面。这可能是由于浏览器的安全设置或者某些脚本设置导致的。为了解决这...
在这里,`BackButton_Click`和`ForwardButton_Click`是按钮的点击事件处理程序,分别对应于浏览器的后退和前进按钮。这两个方法检查当前是否可以执行相应操作,如果可以,则调用`GoBack`或`GoForward`方法。 此外,...
当页面即将卸载时,比如用户点击关闭按钮或者浏览器的后退按钮,`window.onunload`事件会被触发。同样,当页面刷新时,也会触发这个事件。为了区分这两种情况,开发者通常会设置一个标记,并在`onbeforeunload`事件...
在使用教程中,用户可以通过点击工具栏的“切换模式”按钮,选择不同模式进行操作。横向搜索模式需要选择语言和分类,纵向搜索模式则需选择语言和具体搜索引擎。自定义纵向搜索模式允许用户自定义搜索组合,通过“->...
- **后退与前进**: "后退"按钮用于返回上一页面,"前进"按钮用于前进至上一页面。 - **链接跳转**: 单击网页导航栏的链接,可以跳转到相关页面。 7. **文件路径与考生文件夹** - 考试时,考生文件夹通常设定为"D...
- **知识点**: 浏览器中的“后退”按钮功能。 - **解析**: “后退”按钮用于返回上一个浏览过的网页,而“前进”按钮则用于前进到下一个浏览过的网页。 #### 26. 第一代计算机逻辑元件采用 - **知识点**: 第一代...
要浏览历史数据,请使用浏览器中的后退/前进按钮。 F。在任何时候,如果要清除上次搜索的结果,请退出浏览器。如果你想禁用扩展,你可以通过扩展管理器。 功能2 - 定制功能 如果您需要根据您的需求自定义此行为,请...
- **BrowserBack**、**BrowserForward**、**BrowserHome**等:这些键分别用于浏览器中的后退、前进和主页功能,它们的编码分别是166、167和172。 - **Cancel**:取消键,编码为3,用于取消当前操作。 - **Capital/...
与点击屏幕左下角的“开始”按钮效果相同。 - **CTRL+ALT+DELETE**:打开安全选项屏幕。在Windows 9x中常用于解锁计算机或切换用户等操作。 - **DELETE**:删除所选文件或文件夹。直接将选定的项目移动到回收站。 - ...
语言:English该扩展程序将快速参考上次搜索到的结果列表,并提供简单...要浏览历史数据,请使用浏览器中的后退/前进按钮。F。在任何时候,如果您想清除最后搜索的结果,请退出浏览器。如果要禁用扩展,可以通过扩展管理