我正在开发一个应用程序,我在母版页中有一些链接按钮 我想根据他们登录后给他们的授权来显示它们。我最初将所有这些都显示为false,然后我在aspx.cs类的母版页中检查授权。我根据授予用户的权限使链接按钮可见。但它使所有链接按钮可见。相反,它应该只使其中两个可见,并且应该隐藏休息。以下是我在MasterPage.aspx.cs中的代码:
ArrayList arrlstUserRoles = new ArrayList();
arrlstUserRoles = (ArrayList)Session["Roles"];
for (int j = 0; j < arrlstUserRoles.Count; j++)
{
if (int.Parse(arrlstUserRoles[j].ToString()) == 1)
{
lbtnRetailer.Visible = true;
}
else if (int.Parse(arrlstUserRoles[j].ToString()) == 2)
{
lbtnCategory.Visible = true;
}
else if (int.Parse(arrlstUserRoles[j].ToString()) == 3)
{
lbtnCouponTemplate.Visible = true;
}
else if (int.Parse(arrlstUserRoles[j].ToString()) == 4)
{
//lbtnStoreManagement.Visible = true;
}
else if (int.Parse(arrlstUserRoles[j].ToString()) == 5)
{
lbtnStoreManagement.Visible = true;
}
else if (int.Parse(arrlstUserRoles[j].ToString()) == 6)
{
lbtnContentManagement.Visible = true;
}
else if (int.Parse(arrlstUserRoles[j].ToString()) == 7)
{
//lbtnStoreManagement.Visible = true;
}
}
答案 0 :(得分:0)
您需要将要隐藏的LinkButtons的可见性设置为false。
在开始循环之前,将所有LinkButtons设置为不可见:
arrlstUserRoles = (ArrayList)Session["Roles"];
lbtnRetailer.Visible = false;
lbtnCategory.Visible = false;
...
for (int j = 0; j < arrlstUserRoles.Count; j++)
{
if (int.Parse(arrlstUserRoles[j].ToString()) == 1)
{
lbtnRetailer.Visible = true;
}
...
}