我有以下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;
感谢您的帮助。
答案 0 :(得分:3)
您无法以这种方式隐藏ListItem
中的BulletedList
个Repeater
。您必须使用其他控件(例如DataList
,ListItem 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}}。