Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net BulletedList-将ListItem可见性设置为False_Asp.net_Visual Studio_List_Visual Studio 2012 - Fatal编程技术网

Asp.net BulletedList-将ListItem可见性设置为False

Asp.net BulletedList-将ListItem可见性设置为False,asp.net,visual-studio,list,visual-studio-2012,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语句中,如果登录的用户无权访问

我有以下的if声明:

if (Roles.IsUserInRole("ModuleRole:Homework.ApproveHomework.Access")) BulletedList1.Visible = true;
    else BulletedList1.Visible = false;
基本上,角色分配给当前登录的用户。BulletedList1只是主页上的一个角色列表,用户可以单击该列表执行某些操作,例如批准作业、删除甚至添加新工作表

在上面的if语句中,如果登录的用户无权访问ModuleRole:Homebook.ApproveHomebook.access,则整个BulletedList将消失。然而,我想知道的是,如何具体选择BulletedList中我希望具有虚假可见性的ListItem,而不是将整个列表设置为不可见

由于ListItem没有ID,我可以简单地通过将if语句指向特定的值来实现这一点吗

我试图进行一些搜索,并得出以下代码,但它不起作用:

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

谢谢您的帮助。

您不能用这种方式从
项目符号列表中隐藏单个
列表项。您可以使用不同的控件(如
中继器
数据列表
等),也可以使用CSS

试试这个:

ListItem approveItem = BulletedList1.Items.FindByValue("Approve Calls");
approveItem.Attributes.CssStyle.Add("display", "none");
// make it visible:
approveItem.Attributes.CssStyle.Remove("display");
如果足以禁用某个项目,则只需使用
approvietem.Enabled=false