Con*_*dev 29
我在寻找同样的答案时发现了这个问题...每个人都说这是可能的,但没有人给出实际的解决方案!我似乎现在正在工作所以我想发布我的发现......
我需要的东西:
CSS友好控制适配器下载DLL和.browsers文件(分别到/ bin和/ App_Browsers文件夹)
ASP.NET SiteMap(siteMapweb.config中的.sitemap XML文件和提供程序条目)
我完成Masterpage.master了以下head标记:
<head runat="server">
<script type="text/javascript" src="/script/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/script/superfish.js"></script>
<link href="~/css/superfish.css" type="text/css" rel="stylesheet" media="screen" runat="server" />
<script type="text/javascript">
$(document).ready(function() {
$('ul.AspNet-Menu').superfish();
});
</script>
</head>
Run Code Online (Sandbox Code Playgroud)
这基本上是jQuery Superfish菜单工作所需的全部内容.页面内部(菜单所在的位置)看起来像这样(基于这些说明):
<asp:SiteMapDataSource ID="SiteMapDataSource" runat="server"
ShowStartingNode="false" />
<asp:Menu ID="Menu1" runat="server"
DataSourceID="SiteMapDataSource"
Orientation="Horizontal" CssClass="sf-menu">
</asp:Menu>
Run Code Online (Sandbox Code Playgroud)
根据文档,这似乎应该工作 - 但事实并非如此.原因是CssClass="sf-menu"当呈现菜单并且<ul>标签获得时,会被覆盖class="AspNet-Menu".我认为这条线$('ul.AspNet-Menu').superfish();会有所帮助,但事实并非如此.
还有一件事
虽然这是一个黑客(并请有人点我到正确的解决方案),我是能够得到它通过打开工作superfish.css文件,搜索和替换 SF-菜单与ASPNET菜单 ......瞧!菜单出现了.我以为在asp:Menu控件中会有一些配置设置,我可以设置<ul>类,但没有通过谷歌找到任何提示.