我開發了一個基本系統,通過頁面加載菜單集合中的菜單項(項目是硬編碼的,因此不能使用rowdatabound事件)並禁用那些不符合特定用戶級別的菜單項條件:for each MenuItem RemoveAt
For Each item As MenuItem In NavigationMenu.Items
Dim value As Int32 = Convert.ToInt32(item.Value)
Dim level As Int32 = Convert.ToInt32(Session.Item("uxID"))
If value > level Then item.Enabled = False
Next
它工作的很好,並禁用所有應該忽略的菜單項。問題在於,隨着時間的推移,菜單項的數量不斷增加,而且一些用戶很難知道他們所做的和無法訪問的內容。
我的理解是,菜單項沒有可見屬性,但可以刪除(http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menuitemcollection.removeat.aspx),但我難以接受如何獲取菜單項的索引。
您希望在哪個事件中獲得菜單項的索引? – 2013-02-22 06:15:25