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