DestinationPageUrl第一次不工作

时间:2015-03-10 11:04:35

标签: c# asp.net logging

我正在使用visual studio 2010。

我在我的页面上放了一个登录组件,当我第一次尝试登录我的用户时,页面再次将我重定向到页面日志,然后我再次登录并且工作正常。我没有写错密码,因为Chrome记得它。

ASP代码:

<asp:Login ID="lgnLogin" runat="server" BorderColor="#39516B" BorderPadding="0"
                    BorderStyle="Solid" BorderWidth="1px" Height="203px" Width="450px" 
                    Font-Bold="True" ForeColor="#182B39" RememberMeText="Save password" 
                    style="text-align: center" BackColor="#E7EAEF" DisplayRememberMe="False" 
                    OnAuthenticate="lgnLogin_Authenticate" DestinationPageUrl="~/bandejaEntrada.aspx">
</asp:Login>

C#代码:

protected void lgnLogin_Authenticate(object sender, AuthenticateEventArgs e)
{
        try
        {
            //Clear session
            Session.Clear();

            // Create new session
            CSessionUser oSesUser = new CSessionUser();
            e.Authenticated = oSesUser.BInitSession(lgnLogin.UserName, lgnLogin.Password);
            CLogger.MsgInfo("authen: " + e.Authenticated.ToString());

            CSesionSrv oSesionSrv = new CSesionSrv();
            oSesionSrv.BGuardar(lgnLogin.UserName);

            //lgnLogin.DestinationPageUrl = "~/bandejaEntrada.aspx";
            //Response.Redirect("~/bandejaEntrada.aspx",false);
            //Response.Redirect(ResolveClientUrl(lgnLogin.DestinationPageUrl));                
        }
        catch(Exception ex) 
        {
            CLogger.MsgError("Web:login.aspx.cs:lgnLogin_Authenticate", ex);
        }
 }

e.Authenticated属性总是如此,即使页面第一次将我重定向到登录页面。

导致此行为的原因是什么?

许多人提前感谢!

1 个答案:

答案 0 :(得分:0)

最后我修改了IIS中的默认文档,我将login.aspx放在列表的末尾,并将bandejaEntrada.aspx放在列表的顶部。现在,当param login.aspx?ReturnUrl =%2fWEBSITE%2f出现在浏览器中时,它会重定向到bandejaEntrada而不是再次登录页面。