我曾想在login控件的loginedin事件来获取登录后的用户名,但我一点登录后,就直接转向了default.aspx或login控件指定的其他页面,根本不执行loginedin事件。
谢谢!

解决方案 »

  1.   

    直接loginname控件就行,不需要事件
      

  2.   

    你跟踪了没?默认情况下,登录控件与 ASP.NET 成员资格和 Forms 身份验证集成,你检查一下web.config文件中看看当前的验证方式,而如果您一同使用 Login 控件和 ASP.NET 成员资格,将不需要编写执行身份验证的代码。然而,如果您想创建自己的身份验证逻辑,则您可以处理 Login 控件的 Authenticate 事件并添加自定义身份验证代码。
      

  3.   

    谢谢楼上两位的回答,不过可能是我没说清楚。我的意思是,我想在用Login控件登录后(我的登录没有写代码,但一点登录就转到default.aspx里去了),获取用户信息,比如用户名(我想把用户名放在session或cookies里)。我想在loginedin事件里通过Login1.UserName来获取用户名,但程序根本不执行这个事件(直接转到default.aspx里去了).
      

  4.   

    你可以在的的default.aspx页面放一个LoginName 控件就可以获得用户名
      

  5.   

    第一问题:你如果想把用户名放到session里,对于一个新手来说,有点难度(要重写MemberShip组件),你的登录用户名本身就存放在被加密的Cookie中。
    第二个问题:获取登录的用户名用HttpContext.Current.User.Identity.Name来获取
      

  6.   

    用户名已经在session中保存,只需要使用Page.User就可以获取到相关的信息。当然,HttpContext.Current.User.Identity.Name也是一样。
      

  7.   

    用户名已经在session中保存,只需要使用Page.User就可以获取到相关的信息。当然,HttpContext.Current.User.Identity.Name也是一样。
      

  8.   

    用membership默认能将用户名保存到session中?
      

  9.   


    用me.login1.username 就可以获取用户输入的用户名,很简单啊!
    用me.login1.password 同样可获得输入的密码原文.另外,楼主说的那种情况我可从来没有遇到过.logedin可是在完成登录后必须执行的事件啊.如果在这里写不行,你还可写到loggingin里面,这个事件发生在登录成功之前,是必然要执行的.对了,你是不是修改了"确定"按钮的代码才出现直接跳转的情况?这样做是没有登录成功的.登录成功后跳转到哪个页面,应该写在login控件的DestinationPageUrl 属性里.另外,从另外的页面中途跳到登录框,登录后返回,可以写成: Response.Redirect("Login.aspx?ReturnUrl=" & Request.Url.ToString),或者直接用登录控件中的loginstatus,非常方便的.