登录控制 - Response.Redirect

时间:2009-04-01 16:25:24

标签: asp.net

我在页面上有一个usercontrol,其中包含登录控件。这将控制另一个用户控件的显示(如果用户未登录,则获取登录控件用户控件)。我有一些验证码(见下文),当用户点击“登录”按钮时运行。基本上我希望它回发到同一页面,以便他们登录并能够现在看到其他受保护的用户控件。此代码无效。也许在另一个页面上发生的事情使得这个不起作用,但是这个代码本身看起来应该有用吗?

string userName = Membership.GetUserNameByEmail(Login1.UserName);

    if (userName != null)
    {
        e.Authenticated = Membership.ValidateUser(userName, Login1.Password);
    }
    else
    {
        e.Authenticated = false;
    }

    if (e.Authenticated)
    {
        Login1.UserName = userName;
        ImageButton loginButton = (ImageButton)Login1.FindControl("LoginButton");
        if (loginButton != null)
        {
            //loginButton.PostBackUrl = Request.Url.ToString();                
            Response.Redirect(Request.Url.ToString());
        }
    }

2 个答案:

答案 0 :(得分:1)

问题是登录控件本身会在网址(无cookie)中重定向设置cookie或加密的身份验证票证。

我认为登录控件有一些属性,您可以告诉它将重定向到哪里(它会覆盖web.config中的那个)。

答案 1 :(得分:1)

DestinationPageUrl是属性... soo Login1.DestinationPageUrl =“〜/ whatever.aspx”;