1

我有以下 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;

谢谢你的帮助。

4

1 回答 1

3

您不能以这种方式ListItem从 a中隐藏单曲。BulletedList您要么必须使用不同的控件(例如RepeaterDataList),要么可以使用 CSS。

试试这个:

ListItem approveItem = BulletedList1.Items.FindByValue("Approve Calls");
approveItem.Attributes.CssStyle.Add("display", "none");
// make it visible:
approveItem.Attributes.CssStyle.Remove("display");

如果禁用一个项目就足够了,你可以简单地使用approveItem.Enabled = false.

于 2013-10-18T11:48:25.270 回答