ASP.Net FormsAuthentication Rememberme

时间:2013-03-05 04:21:00

标签: asp.net vb.net

我在使用内置登录功能的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的第一篇文章,请原谅任何可怜的礼仪。

1 个答案:

答案 0 :(得分:0)

您可以通过创建登录控制事件来更改CheckBox和Label的可见性 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方法中。