0

Web サイトを Twitter.com のように機能させようとしています。www.twitter.com にログインしていない場合、最初に開くページは、ゲストがログイン/登録できるホームページです。ただし、この Web サイトに初めてアクセスしたことがない場合は、ログインしたままになり、次に www.twitter.com にアクセスしたときに最初に読み込まれるページがタイムラインです。

ホームページのページの読み込みから、次のコードを試しましたが、正しくないと確信しています

protected void Page_Load(object sender, EventArgs e)
{
    if (Login1.LoggedIn == true)
    {
        Response.Redirect("abc.aspx");
    }    
}

LoggedIn の下に「評価する式」という赤いエラー行があります。

これを修正するにはどうすればよいでしょうか。ユーザーがすでにログインしている場合、読み込まれる最初のページは abc.aspx です。

4

2 に答える 2

3

代わりに HttpContext をチェックしてみてください。

protected void Page_Load(object sender, EventArgs e)
{
    if (User.Identity.IsAuthenticated)
    {
        Response.Redirect("abc.aspx");
    }    
}

そして、これを上記のコードに追加して、実際のログインが発生したときに abc.aspx に移動するようにすることができます。

protected void Login1_LoggedIn(object sender, EventArgs e)
{
     Response.Redirect("abc.aspx");
}

ログイン コントロールに関する詳細情報http://forums.asp.net/t/1403132.aspx/1

于 2012-05-17T13:19:20.290 に答える
2

使用している場合は、を使用してForms AuthenticationくださいdefaultUrl="abc.aspx"

web.configの例

<authentication mode="Forms">
    <forms loginUrl="Login.aspx" defaultUrl="abc.aspx" />
</authentication>

詳細については、フォーム要素の認証(ASP.NET設定スキーマ)を参照してください。

于 2012-05-17T13:12:32.507 に答える