BulletedList - 将ListItem可见性设置为False

时间:2013-10-18 11:43:00

标签: asp.net visual-studio list visual-studio-2012

我有以下if语句:

if (Roles.IsUserInRole("ModuleRole:Homework.ApproveHomework.Access")) BulletedList1.Visible = true;
    else BulletedList1.Visible = false;

基本上角色分配给当前登录的用户.BulletedList1只是主页上的角色列表,用户可以点击这些角色来执行某些操作,例如批准作业,删除甚至添加新工作表。

在上面的if语句中,如果登录的用户无权访问ModuleRole:Homework.ApproveHomework.Access,则整个BulletedList将消失。我想知道的是如何具体选择BulletedList中哪个ListItem我想要一个错误的可见性,而不是整个列表被设置为不可见。

由于ListItem没有ID,我可以通过将if语句指向特定值来执行此操作吗?

我尝试进行一些搜索并提出以下代码,但它无效:

BulletedList1.Items.FindByValue("Approve Calls").Visible = true;

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您无法以这种方式隐藏ListItem中的BulletedListRepeater。您必须使用其他控件(例如DataListListItem approveItem = BulletedList1.Items.FindByValue("Approve Calls"); approveItem.Attributes.CssStyle.Add("display", "none"); // make it visible: approveItem.Attributes.CssStyle.Remove("display"); 等),或者您可以使用CSS。

试试这个:

approveItem.Enabled = false

如果禁用某个项目就足够了,您只需使用{{1}}。