在Page_Load事件中用 HttpContext.Current.Session( "名称 ")=null 进行清空
我是要实现退出登录,在LinkButton的点击事件清空Session 我用HttpContext.Current.Session试了也不行
@小柑: 建议在引用用户控件的页面中处理,点击退出登录按钮时用ajax发送一个请求,在请求的方法中用:
Session["名称"]=null;
@artwl: 你是说在引用 登录 自定义控件的页面 中处理Session的清空 ?
@小柑: 对啊
@artwl: ajax怎么发送请求啊?
@小柑: 这个说起来就多了,简单点的你直接在LinkButton的点击事件中写:
Session["名称"]=null;
就可以了
@artwl: 就是这个不行啊?
@小柑: 这个方法行吗 我试了不行呀?
@小柑:
Demo:
SessionTest.ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SessionTest.ascx.cs" Inherits="WebApplicationTest.SessionTest" %> <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">退出</asp:LinkButton>
SessionTest.ascx.cs:
protected void Page_Load(object sender, EventArgs e) { Response.Write("Page_Load:" + Session["Test"]); } protected void LinkButton1_Click(object sender, EventArgs e) { Session["Test"] = null; Response.Write("<br/>LinkButton1_Click:" + Session["Test"]); }
引用页面SavePic.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SavePic.aspx.cs" Inherits="WebApplicationTest.SavePic" %> <%@ Register src="SessionTest.ascx" tagname="Sample" tagprefix="uc1" %> <!DOCTYPE html> <html> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <uc1:Sample ID="Sample1" runat="server" /> </div> </form> </body> </html>
SavePic.aspx.cs:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Session["Test"] = "Test Session"; } }
运行结果:
点击退出后:
完全没问题啊,你检查一下你的代码吧
@artwl: 找不到是哪的问题,可不可以帮忙看一下嘛?
@小柑: 怎么帮你看?
@artwl: 发给你 你给我看看嘛
@小柑: 我给你发站内短消息,你发给我吧