-->

jQuery的菜单和ASP.NET站点地图(jQuery Menu and ASP.NET Site

2019-06-24 01:24发布

是否有可能使用ASP.NET web.sitemap中有jQuery的快鱼菜单?

如果没有,是否有任何标准的基于浏览器的插件无关可用Web.sitemap文件的工作?

Answer 1:

我发现这个问题,同时寻找相同的答案......大家说,这是可能的,但没有一个人给出了实际的解决方案! 我似乎现在工作,所以想我会后我发现...

事情我需要:

  • 快鱼其中还包括一个版本的jQuery

  • CSS友好控制适配器下载DLL和.browsers文件(在/ bin和/ App_Browsers文件分别文件夹)

  • ASP.NET站点地图 (一个.sitemap XML文件和siteMap在web.config中提供条目)

我的成品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>

这基本上是需要jQuery的快鱼菜单工作的所有东西。 里面的页面(如菜单进入)看起来像这样(基于这些说明 ):

<asp:SiteMapDataSource ID="SiteMapDataSource" runat="server"
    ShowStartingNode="false" />
<asp:Menu ID="Menu1" runat="server" 
    DataSourceID="SiteMapDataSource"
    Orientation="Horizontal" CssClass="sf-menu">
</asp:Menu>

根据相关文档,这似乎像它应该工作 - 但事实并非如此。 其原因是,在CssClass="sf-menu"时菜单被呈现和被覆盖<ul>标签得到一个class="AspNet-Menu" 。 我觉得行$('ul.AspNet-Menu').superfish(); 会有所帮助,但事实并非如此。

还有一件事

虽然这是一个黑客(并请有人点我到正确的解决方案),我能得到它的工作通过打开superfish.css文件和搜索,并ASPNET菜单 ......瞧更换 SF-菜单 ! 菜单出现。 我以为会有一些配置中设置asp:Menu控制,我可以设置<ul>类,但没有发现通过谷歌的任何提示。



Answer 2:

是的,这是完全可能的。

我已经与ASP中使用它:菜单控制和jQuery与快鱼插件1.2.6。 请注意,您需要在ASP.NET 2.0 CSS友好控制适配器 。

ASP.NET生成ASP:菜单控制作为表的布局。 CSS的友好控制适配器将使ASP.NET生成ASP:菜单控件作为一个div内的UL / LI布局。

这将允许轻松集成了jQuery和快鱼插件,因为插件快鱼依赖于UL / LI布局。



Answer 3:

它看起来像你需要生成一个UL的快鱼。 您应该能够从您的网站地图与ASP.Net做到这一点。 我认为网站地图控件会做这样的事情。 如果不是,它应该是相当琐碎直接从C#调用站点地图和编程方式生成的DOM。 你可以建立一个用户控件来做到这一点,或做它在母版页。

看看这个MSDN文章就如何以编程方式枚举的节点在您的网站地图。



Answer 4:

记得添加CSS类NonLink元素。 快鱼CSS元素不acccont他们。 如果你和我一样,有根菜单的不属于链接,那么它呈现可怕的。 只需添加ASPNET菜单 - NonLink元素的superfish.css文件,它应该呈现的罚款。



Answer 5:

SiteMapDataSource控件应该能够绑定到绑定控件任何分层数据。 我不熟悉的快鱼,但我知道有很多jQueryish的控制都来做到这一点。



Answer 6:

我创造了你可以使用一个整洁的小样本项目http://simplesitemenu.codeplex.com/

这是一个复合控件生成Sitemap中嵌套的UL / LI上市。

请享用!



文章来源: jQuery Menu and ASP.NET Sitemap