29. juni 2009 - 09:02Der er
1 kommentar og 1 løsning
AddHandlers på dynamisk Menu
Jeg vil gerne tilføje en onClick event på min Menu, men jeg kan ikke få det til at virke. Jeg får heletiden at vide at: 'OnClick' is not an event of System.Web.UI.WebControls.MenuItem'
Sub myMenu_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim MenuVisible As Boolean If MenuItem.Clicked = True Then ' is it a batten textbox or option checkbox MenuVisible = True Else MenuVisible = False End If End Sub
Private Sub PopulateMenu() Dim ds As DataSet = GetDataSetForMenu() Dim menu As New Menu() Dim MainMenuItem As New MenuItem Dim SubMenuItem As New MenuItem
Dim parentItem As DataRow Try MainMenuItem = New MenuItem("|") menu.Items.Add(MainMenuItem)
For Each parentItem In ds.Tables("MenuMain_Tbl").Rows MainMenuItem = New MenuItem(CStr(parentItem("MenuText"))) 'MainMenuItem.Value = CStr(parentItem("MenuID")) 'MainMenuItem.NavigateUrl = CStr(parentItem("NavigateUrl")) menu.Items.Add(MainMenuItem)
Dim childItem As DataRow For Each childItem In parentItem.GetChildRows("Children") SubMenuItem = New MenuItem(CStr(childItem("SubMenuText"))) 'SubMenuItem.NavigateUrl = CStr(childItem("NavigateUrl")) MainMenuItem.ChildItems.Add(SubMenuItem) Next childItem
MainMenuItem = New MenuItem("|") menu.Items.Add(MainMenuItem) Next parentItem
menu.Orientation = Orientation.Horizontal '1st level menu styles menu.StaticPopOutImageUrl = "gfx/nav_arrow_down_White_red.jpg"
'2nd level menu styles menu.DynamicPopOutImageUrl = "gfx/nav_arrow_down_White_red.jpg"
Catch ex As Exception LblMessage.Text = ex.ToString Response.Write(MySQL) End Try
AddHandler menu.MenuItemClick, AddressOf myMenu_Click MenuPanel.Controls.Add(menu) MenuPanel.DataBind() End Sub 'PopulateMenu
Private Function GetDataSetForMenu() As DataSet MySQL_Main = "SELECT * FROM MenuMain_Tbl order by orderby;" Dim adMainMenu As New SqlDataAdapter(MySQL_Main, MyConnection)
MySQL_Sub = "SELECT * FROM dbo.MenuMainSub_Tbl;" Dim adSubMenu As New SqlDataAdapter(MySQL_Sub, MyConnection)
Dim ds As New DataSet() adMainMenu.Fill(ds, "MenuMain_Tbl") adSubMenu.Fill(ds, "dbo.MenuMainSub_Tbl") ds.Relations.Add("Children", ds.Tables("MenuMain_Tbl").Columns("MenuID"), ds.Tables("dbo.MenuMainSub_Tbl").Columns("MenuID")) Return ds End Function 'GetDataSetForMenu
Sub myMenu_Click(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs) Label2.Text = "Menu Click" End Sub
Men jeg kan ikke få min applikation til at udføre følgende sætning: Label2.Text = "Menu Click"
Jeg lavede den så simpel fordi jeg har forsøgt alt muligt andet og intet vil lykkes
Jeg endte med at ændre Panel til menu for derefter at kunne anvende MenuItemClick i min AsyncPostBackTrigger
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.