2009-04-01 9 views
1

ログインコントロールがあるページにユーザーコントロールがあります。これは、別のユーザーコントロールの表示を制御します(ユーザーがログインしていない場合は、ログインコントロールユーザーコントロールを取得します)。ユーザーが「ログイン」ボタンをクリックしたときに実行する認証コード(下記参照)があります。基本的には、同じページにポストバックして、ログインして他の保護されたユーザーコントロールを表示できるようにします。このコードは機能しません。おそらく、これを動作させない別のページに何かが起こっているかもしれませんが、このコード自体はうまくいくようですか?ログインコントロール - Response.Redirect

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()); 
     } 
    } 
+0

「機能していません」とはかなり曖昧です。 –

答えて

1

問題は、ログインコントロールが、Cookieまたは暗号化された認証チケットをURL(cookieless)に設定してリダイレクトすることです。

ログインコントロールには、リダイレクト先の場所(web.configのものを上書きする)を知ることができるいくつかのプロパティがあると思います。

+0

私はそのプロパティについて忘れてしまいました!ありがとうございました! –

1

DestinationPageUrlはプロパティです。soo Login1.DestinationPageUrl = "〜/ whatever.aspx";

関連する問題