2011-02-28 47 views
4

平台:
ASP.NET 4.0(Webforms)与C#的网站开发。调整ASP.NET菜单控件像一个巨大的下拉

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

要求:
要在单个列表中显示级别2和级别3数据,并且第一级别2的子级(如果有)显示在第一级别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。我成功了,但它缺乏可重用性。

我想要的是一种方式来实现可重复使用的ASP.NET菜单控件静态level2(和level3)后动态级别1,行为像megadropdown。我确信应该有办法,而且我会走错路。有任何想法吗?

回答

0

无法得到任何简单的解决方案。

解决方法是将分层网站地图制作为包含父级XML父级ID的表,如果没有父级,则为0。然后,我编程创建一个ASP:菜单代码后面的数据

0

您必须设置在菜单控制menudisplaylevel到3,请检查该

MaximumDynamicDisplayLevels="3" 

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

我想要的是像level1动态,level2静态等菜单。似乎如果达到动态水平,其子级别不能是静态的。 – naveen 2011-02-28 03:34:51

+0

你想像在Image1中出现的想法? – 2011-02-28 03:44:24

+0

完全是bhavik。左图像。 – naveen 2011-02-28 03:47:49