c# - 将 ASP.NET 菜单控件调整为大型下拉菜单

标签 c# asp.net rendering aspmenu

平台:
使用 C# 在 ASP.NET 4.0(Webforms) 上开发网站。

情况:
我呈现的 ASP.NET 菜单控件是水平的并且具有三个级别的数据。 并且我设置了 StaticDisplayLevels="1"以便菜单水平显示 Level1 数据和 level1 的 onmouseover,菜单显示 level2 数据和 level2 的 onmouseover,菜单显示 level3 数据。

要求:
要在单个列表中显示 level2 和 level3 数据,第一个 level2 的子项(如果有)显示在第一个 level2 数据下方。然后是第二级 2 及其子级(如果有)等等。

Want a display like the first one. ASP.NET Menu control displays something like second考虑上图。我想要的是像左边那样的显示器。但是 ASP.NET 菜单控件将其呈现为右侧的图像。

我在网上四处寻找解决方案。我什至试过replacing the markup of the generated asp.net control using Menu's DataBound event and then injecting javascript hack to it .我成功了,但它缺乏可重用性。

我想要的是一种在动态 level1 之后使用静态 level2(和 level3)实现可重复使用的 ASP.NET 菜单控件的方法,它的作用类似于 megadropdown。我确信应该有办法,而且我走错了路。有什么想法吗?

最佳答案

您必须将菜单控件中的 menudisplaylevel 设置为 3。请检查此

MaximumDynamicDisplayLevels="3"

<asp:Menu ID="Menu1" runat="server" StaticDisplayLevels="1" 
MaximumDynamicDisplayLevels="3" DataSourceID="SiteMapDataSource1" 
Orientation="Horizontal" OnDataBound="Menu1_DataBound">
</asp:Menu>

关于c# - 将 ASP.NET 菜单控件调整为大型下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5137910/

相关文章:

c# - 仅更新 Entity Framework 中实际更新的字段

c# - 资源.Designer.cs : "Resource ... does not contain a definition for ..."

c# - 获取路径中所有文件的名称

c# - 如何确定三角形的方向/旋转?

c# - 如何微调 ASP GridView

react-native - React Native Flatlist numColumns 没有制作多列

node.js - 两端渲染的 Node 框架

widget - Flutter Row 在构建时消失了吗?

asp.net - 有没有适用于 jquery/asp.net 的开源 Ajax 调度程序?

c# - Global_Asax Application_Error Fired 而不是默认的 IIS7 404 Page Not Found Page