2013-02-01 45 views
0

我瘋了,試圖操縱我的site.master菜單。我有以下的菜單在我的Site.Master:MenuItemDataBound in site.master

<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"> 
     <Items> 
      <asp:MenuItem Text="Welcome" Value="0" NavigateUrl="Default.aspx"></asp:MenuItem> 
      <asp:MenuItem NavigateUrl="Times.aspx" Text="Timesheets" Value="1"></asp:MenuItem> 
      <asp:MenuItem NavigateUrl="View.aspx" Text="View Staff" Value="2"/> 
      <asp:MenuItem Text="Add Staff" Value="2" NavigateUrl="Add.aspx"></asp:MenuItem> 
      <asp:MenuItem Text="Options" Value="3"> 
       <asp:MenuItem Text="Jobs" Value="3" NavigateUrl="Jobx.aspx"></asp:MenuItem> 
       <asp:MenuItem Text="Courses" Value="3" NavigateUrl="Modx.aspx"></asp:MenuItem> 
       <asp:MenuItem Text="Increases" Value="3" NavigateUrl="Incx.aspx"></asp:MenuItem> 
       <asp:MenuItem NavigateUrl="User.aspx" Text="Users" Value="3"></asp:MenuItem> 
      </asp:MenuItem> 
     </Items> 
    </asp:Menu> 

爲簡單起見,我已經添加和調整,下面this msdn VB example我的Site.Master VB文件:

Partial Class Site 
Inherits System.Web.UI.MasterPage 

Public Sub NavigationMenu_MenuItemDataBound(sender As Object, e As System.Web.UI.WebControls.MenuEventArgs) Handles NavigationMenu.MenuItemDataBound 

    e.Item.Text = "Custom Text" 

End Sub 
End Class 

我的理解是,我的菜單中的所有項目都應該有文本「自定義文本」,但它不會發生。我錯過了一些痛苦明顯的東西嗎?

回答

3

沒有數據源附加到此菜單,因此menuitemdatabound從不執行。

如果你想操縱項目,你可以在page_load中做到這一點。

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 
    For Each item As MenuItem In NavigationMenu.Items 
     item.Text = "CUSTOM" 
    Next 
End Sub 
+0

你先生是救世主,謝謝。 –