0

私は彼が次のコードでログインボタンを持っています。

protected void prv_Click(object sender, EventArgs e)
{

    if (Page.IsPostBack)
    {
        if (!HttpContext.Current.Request.IsSecureConnection)
        {
            string postbackUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace("http", "https");
            Response.Redirect(postbackUrl);

        }
    }

    login_box.Visible = true;
}

問題は、ユーザーがhttpを使用してブラウジングしていて、prv_Clickを起動するログインリンクをクリックすると、サイトは正しいhttpsにリダイレクトしますが、標準のdivがfalseに設定され、サーバーで実行されるlogin_boxが設定されないことです。本当に。ユーザーはログインリンクをもう一度クリックする必要があり、それによってログインリンクが展開されます。

どんな助けでもいただければ幸いです。

4

1 に答える 1

1

ボタンのクリック時に可視性を設定しないでください。ページの読み込み時に設定してください。このようなものが動作するはずです:

login_box.Visible = HttpContext.Current.Request.IsSecureConnection;

ではないことに注意してくださいIsPostBack。これにより、安全な接続がある場合にのみ表示されるようになります。他の理由で非表示にする必要がある場合は、それに応じて式を変更する必要があります。

于 2013-01-30T16:19:55.270 に答える