当txtDisc
不是字符串 special_user 时,我试图隐藏对象lblUserType
。当lblLock
可见性为false时,txtDisc
已锁定并且可见,反之亦然。
所以我将它放在page_Load中,但该方法根本不起作用。
protected void Page_Load(object sender, EventArgs e)
{
buttonVisibility();
}
private void buttonVisibility()
{
if (lblUserType.Text == "special_user")
{
txtDisc.Visible = true;
lblLock.Visible = false;
}
}
答案 0 :(得分:4)
将您的代码更改为:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
buttonVisibility();
}
}
private void buttonVisibility()
{
if (lblUserType.Text == "special_user")
{
txtDisc.Visible = true;
lblLock.Visible = false;
}
else
{
txtDisc.Visible = false;
lblLock.Visible = true;
}
}
通过使用if(Page.IsPostBack == false),我们确信内部代码只会在第一页加载时执行。 IsPostBack是Asp.Net页面的一个属性,它告诉页面是否处于初始加载状态,或者用户是否在网页上执行了导致页面回发给自身的按钮
答案 1 :(得分:0)
您在代码中仅使用if条件,但如果条件不正确,应采取哪些操作?因此,在您的条件中添加一个else块
试试这段代码:
private void buttonVisibility()
{
if (lblUserType.Text == "special_user")
{
txtDisc.Visible = true;
lblLock.Visible = false;
}
else
{
txtDisc.Visible = false;
lblLock.Visible = true;
}
}