最近自己在玩基于asp.net的网页编程制作一个简单的用户登入系统  我的想法是:登录时将用户名信息保存在session["username"]中,然后在login.aspx页面通过以下代码登录
 if (!IsPostBack)
            {
                if (Session["username"] != null )
                {
                    Response.Redirect("XXX.aspx");
                }就是session有值时,就直接登录到首页,不用键入用户名密码。遇到的问题是  在XXX.aspx页面退出时: 
<a href="login.aspx">退出</a>想通过退出时  清空session的方法,去掉自动登录我该如何通过前台,促发到后台去清空session??
asp.nethtml

解决方案 »

  1.   

    login.aspx?quit=truepage_load(...)
    {
     if(Request.QueryString["quit"]!=null)
    {
       Session["username"]=null;
    }
    }
      

  2.   

    换成linkbutton,在后台触发事件来清空,
    或者写JS,点连接的时候用JS来清空(如果一定要前台触发的话)
      

  3.   


    用linkbutton  会不会自带一些样式??   像button一样的一个按钮就不好看了  我想要在界面上只点击文字。谢谢
      

  4.   


    当然不会,linkbutton外观跟<a></a>一样
      

  5.   


    linkbutton  好像只有  onClientClick属性  没有 onclick属性 写js的话   js是在客户端的吧   而session实在服务器端的  这个该怎么处理? 
      

  6.   

    如果没有母板页,用户控件等
    前台调用后台方法可用
    document,getElementById("linkbuttonid").click();
    方法就在后台写
      

  7.   

    能解释一下第一句么   不太熟悉代码  谢谢   这是也在login.aspx 页面么?
      

  8.   

    第一句?
    <a href="login.aspx?quit=true">退出</a>
      

  9.   

    都有
    onClientClick是脚本函数 onclick是响应后台事件 
      

  10.   


    <asp:LinkButton  runat="server" OnClick="quit_Click()" PostBackUrl="mt-login.aspx">退出</asp:LinkButton>   protected void quit_Click()
            {
                Session["username"] = null;
            }
    这样写  会提示错误:编译器错误消息: CS0149: 应输入方法名称
      

  11.   

     可以POST回传回一个执行结果啊,然后直接跳转就oK了