Динамическое меню на основе базы данных в ASP (C #) - PullRequest
2 голосов
/ 08 июля 2010

Я пытаюсь создать раскрывающееся меню на основе базы данных.На данный момент я использую сторонний компонент EO.WEB для ASP, который хорош, но он не дает мне того, что мне нужно (в плане дизайна).У меня написана процедура SQL, которая дает мне имена дочерних узлов для меню и их ссылок (например, CAST (('showInfo.aspx? CityId =' + '' + CAST (dbo.city.id AS varchar (50))+ '&' + 'typeId =' + CAST (dbo.object_type.id AS varchar (50))) AS varchar (50)) AS 'WebSiteLink') Мне просто нужно найти простейший способ его реализации и настроить как можно большенасколько возможно.

Ссылка на сторонний компонент или какое-либо другое приложение или что-либо еще будет очень полезной!

Заранее спасибо за ответы!

1 Ответ

3 голосов
/ 08 июля 2010

ASP.NET имеет встроенный элемент управления меню, с которым вы можете многое сделать. Вы можете привязать его к своим данным или добавить MenuItems по одному в коде позади.

 <asp:menu id="NavigationMenu" CssClass="NavigationMenu" 
    staticdisplaylevels="2" DynamicHorizontalOffset="1"
    staticsubmenuindent="1px" MaximumDynamicDisplayLevels="4"
    orientation="Horizontal"  
    DynamicPopOutImageUrl="~/Images/right-arrow.gif"
    StaticPopOutImageUrl="~/Images/drop-arrow.gif"
    datasourceid="MenuSource"   
    runat="server" Height="30px">
    <staticmenuitemstyle ItemSpacing="10" CssClass="staticMenuItemStyle"/>
    <statichoverstyle CssClass="staticHoverStyle" />
    <StaticSelectedStyle CssClass="staticMenuItemSelectedStyle"/>
    <DynamicMenuItemStyle CssClass="dynamicMenuItemStyle" />     
    <dynamichoverstyle CssClass="menuItemMouseOver" />
    <DynamicMenuStyle CssClass="menuItem" />
    <DynamicSelectedStyle CssClass="menuItemSelected" />
    <DataBindings>       
         <asp:MenuItemBinding DataMember="siteMapNode"
            NavigateUrlField="url" TextField="title" 
                ToolTipField="description" />
    </DataBindings>
  </asp:menu>
...