【问题标题】:Dynamic database-driven menu in ASP (C#)ASP (C#) 中的动态数据库驱动菜单
【发布时间】:2011-03-13 01:21:17
【问题描述】:
我正在尝试创建一个数据库驱动的下拉菜单。
现在我正在为 ASP 使用 EO.WEB 第三方组件,这非常好,但它并不能满足我的需求(设计方面)。
我编写了一个 SQL 过程,它为我提供了菜单的子节点名称及其链接
(例如 CAST(('showInfo.aspx?cityId='+''+CAST(dbo.city.id AS varchar(50))+'&'+'typeId='+CAST(dbo.object_type.id AS varchar (50))) 作为 varchar(50)) 作为 'WebSiteLink')
我只需要找到最简单的方法来实现它并尽可能地自定义。
对第三方组件或其他应用程序或任何东西的引用将是最有帮助的!
提前感谢回答者!
【问题讨论】:
标签:
c#
asp.net
dynamic
menu
【解决方案1】:
ASP.NET 有一个内置的菜单控件,你可以用它做很多事情。您可以将其绑定到您的数据或在代码隐藏中一次添加一个菜单项。
<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>