MenuItemDataBound di situs.master

Saya jadi gila saat mencoba memanipulasi Menu di site.master saya. Saya memiliki Menu berikut di site.master saya:

    <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>

Dan demi kesederhanaan, saya telah menambahkan dan menyesuaikan contoh msdn VB ini ke file vb site.master saya:

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

Pemahaman saya adalah bahwa semua item dalam menu saya selanjutnya harus memiliki teks "Teks Khusus", tetapi hal itu tidak terjadi. Apakah saya melewatkan sesuatu yang sangat jelas dan menyakitkan?


person Ryan Gillies    schedule 01.02.2013    source sumber


Jawaban (1)


Tidak ada sumber data yang melekat pada menu ini sehingga menuitemdatabound tidak pernah dijalankan.

Jika Anda ingin memanipulasi item, Anda dapat melakukannya di 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
person bergerb    schedule 01.02.2013