2013-10-18 46 views
1

我有以下if語句:的BulletedList - 設置列表項能見度爲False

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; 

感謝您的幫助。

回答

3

以這種方式,您不能從BulletedList隱藏單個ListItem。您必須使用不同的控件(如Repeater,DataList等),或者您可以使用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的項目。

+0

剛試過這個,它完美的作品,謝謝! – JimmyK

相關問題