在.net 2.0中有一个Login控件,相信大家都用过。登陆后可以通过Page.User.Identity.Name获取当前登录的用户名。
Login控件中有一个LoggedIn事件,是在登陆后激发的,但是如果在该时间中读取Page.User.Identity.Name值,竟然是空的。
登录完成以后竟然无法读取当前登录的用户名。这是不是很严重的BUG呢?

解决方案 »

  1.   

    绝对不是BUG是你自己的问题!
    我虽然从来没用过这个控件、都是自己写的!BUG我真不相信!这么成熟的东西有BUG也早解决了!
      

  2.   

    不是BUG的话请说明原因。
    我这样有问题也请提出我哪里不对了。谢谢。
    如果没有任何根据地说是或者不是,那也太武断了。
      

  3.   

    <%@ Page Language="C#" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">
    void SiteSpecificUserLoggingMethod(string UserName)
    {
        // Insert code to record the current date and time
        // when this user was authenticated at the site.
    }void OnLoggedIn(object sender, EventArgs e)
    {
        SiteSpecificUserLoggingMethod(Login1.UserName);
    }
    </script><html  >
        <head runat="server">
        <title>ASP.NET Example</title>
    </head>
    <body>
            <form id="form1" runat="server">
                <asp:Login id="Login1" runat="server" OnLoggedIn="OnLoggedIn"></asp:Login>        </form>
        </body>
    </html>
    See msdn:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.loggedin.aspx
      

  4.   

    冒泡在身份验证提供程序检查用户的凭据后引发 LoggedIn 事件,并且身份验证 Cookie 将排队以在下一个响应中发送给浏览器。
      

  5.   

    算是 BUG 也不能算是!只能说,设计上的限制!因为 Forms 验证,需要将 cookie 发送给客户端,再重定向一次如果你检查 Request.IsAuthenticated 会发现时 false,下一次请求才是 true Request。USer 才可用