Dynamic Menu Items - ASP.NET
Jeg bruger ASP.Net og VBJeg har en ASP menu:
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.CssClass = "VerticalLine"
menu.Items.Add(MainMenuItem)
For Each parentItem In ds.Tables("MenuLow_Tbl").Rows
MainMenuItem = New MenuItem(CStr(parentItem("MenuText")))
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.StaticMenuItemStyle.CssClass = "VerticalLine"
'menu.DynamicMenuItemStyle.CssClass = "VerticalLine"
menu.Items.Add(MainMenuItem)
Next parentItem
menu.Orientation = Orientation.Horizontal
'1st level menu styles
menu.StaticPopOutImageUrl = "gfx/nav_arrow_down.gif"
menu.StaticMenuItemStyle.CssClass = "MainLow"
menu.StaticHoverStyle.CssClass = "MainLowHover"
'2nd level menu styles
menu.DynamicPopOutImageUrl = "gfx/nav_arrow_down.gif"
menu.DynamicMenuItemStyle.CssClass = "SubLow"
menu.DynamicHoverStyle.CssClass = "SubLowHover"
Catch ex As Exception
LblMessage.Text = ex.ToString
Response.Write(MySQL)
End Try
Panel1.Controls.Add(menu)
Panel1.DataBind()
Med følgende CSS:
.MainLow
{
font-family: Arial, 'Apex New Book' , Verdana, Tahoma, Sans-Serif;
font-size: 12px;
color: #ff0000;
z-index: 2;
padding: 5px 1px 5px 1px;
margin: 0px;
}
.MainLowHover
{
font-family: Arial, 'Apex New Book' , Verdana, Tahoma, Sans-Serif;
font-size: 12px;
color: #000000;
z-index: 2;
padding: 5px 1px 5px 1px;
margin: 0px;
}
.SubLow
{
padding: 2px 2px 2px 2px;
margin: 0px;
font-family: Arial, 'Apex New Book' , Verdana, Tahoma, Sans-Serif;
font-size: 12px;
color: #FF0000;
background-color: #c0c0c0;
border-bottom: #ffffff 1px solid;
z-index: 5;
white-space: normal;
}
.SubLowHover
{
padding: 2px 2px 2px 2px;
margin: 0px;
font-family: Arial, 'Apex New Book' , Verdana, Tahoma, Sans-Serif;
font-size: 12px;
color: #000000;
background-color: #c0c0c0;
border-bottom: #ffffff 1px solid;
z-index: 5;
white-space: normal;
}
I IE8 vises childitems ikke. Er der nogen der ved hvorfor?
Hvis jeg trykker på kompatibilitetsvisning virker det.
/Stine