0

組み込みのログイン機能を使用してWebアプリケーションでフォーム認証を使用していますが、正常に機能しています。特定の条件(サーバー、IPアドレスなど)に応じて、DisplayRememberMe.visibleをfalseに設定したいと思います。もちろんvisible="false"、ここに示されているマークアップに手動で追加することもできますが、それはうまくいかないようです。

<asp:CheckBox ID="RememberMe" runat="server" />
<asp:Label ID="RememberMeLabel" runat="server" AssociatedControlID="RememberMe" 
     CssClass="inline" >Keep me logged in</asp:Label>

また、どのaspフィールドにフィールドがあるのか​​わかりませんDisplayRememberMe

しかし、もっと重要なのは、コードビハインドファイルに追加LoginUser.DisplayRememberMe = Falseしましたが、無視され、ラベルとチェックボックスは引き続き表示されます。Page.Load、Page.Init、Login_User.Init、Login_User.Prerenderなどのさまざまなイベントに追加しようとしましたが、ページが読み込まれた後もチェックボックスとラベルが表示されます。

適切な呼び出しを使用していますか?効果を上げるにはどこに配置すればよいですか?

これはSOに関する私の最初の投稿ですので、エチケットが悪い場合はご容赦ください。

4

1 に答える 1

0

ログイン制御のイベントを
OnLoad="LoginUser_OnLoad"として作成することにより、チェックボックスとラベルの表示を変更できます。

.csページ

 protected void LoginUser_OnLoad(object sender, EventArgs eventArgs)
        {            
            var login = (System.Web.UI.WebControls.Login)sender;
            var checkbox = login.FindControl("RememberMe");
            checkbox.Visible = false;
            var label = login.FindControl("RememberMeLabel");
            label.Visible = false;
        }

LoginUser_OnLoadメソッドに可視性条件を設定することもできます。

于 2013-03-05T05:41:58.843 に答える