2009-01-29 78 views
1

我正在尝试使用.sitemap文件在我的网站中构建菜单;但是,我在输出中遇到了一些问题。asp.net菜单控制 - 格式

首先,表输出是不是很好 - 我下载了“CSSFriendly” DLL(http://www.codeplex.com/cssfriendly)..现在,这给出了UL和李的输出..

但我希望菜单是自由的JavaScript或css,一次弹出一个级别等。

我认为,一开始使用StaticDisplayLevels会解决这个问题,但它似乎忽略它,只是输出第一级,然后我必须将鼠标移到获取更多菜单选项..

我想多空是:人们应该避开菜单控件d只是自己写标记?如果没有,这是不是一个可怕的路线下去 - 我怎么能摆脱所有的格式和鼠标在爵士乐..我只想一个菜单,水平显示(我可以做我的CSS虽然)。

感谢您的任何帮助,也道歉,如果这个问题似乎乱码(其挫败感)。 Pete

回答

2

皮特,

我已经挖出了一些我的旧代码,它使用asp.net菜单控制。里面几乎没有什么,将StaticDisplayLevels设置为2,并将Orientation设置为“Horizo​​ntal”,这一切都可以正常工作。大部分工作都在对它进行蒙皮处理(并且如果某些URL只有查询字符串有所不同,那么可以突出显示当前位置)。

但是,切换到使用CSS友好适配器,我得到了完全相同的问题,你描述(只有根项目显示,无法水平呈现)。

让我想知道CSS友好菜单适配器是否坏了?有一个老版本的代码http://www.asp.net/CSSAdapters/Menu.aspx

克里斯

2

我的经验ASP.net菜单可以被驯服,并没有它最初出现那样糟糕。

(我试图找到适合您的静态显示级别问题的一些代码,但目前无法访问我的SVN仓库,但我有同样的问题,这也很容易修复。)

中当然,MS菜单永远不会像你可以用HTML编写的那样简洁,但如果你不想花费太长时间并且想要使用所有的SiteMapProvider,那就太好了。

只要不陷入“MS提供的一切都是垃圾,我必须写自己的”陷阱,因为它真的不是那么糟糕。

1

peteski22的,

我回答过类似的问题上jQuery Menu and ASP.Net Sitemap最近工作的例子。我在这里再次概括它:

基本上我用<asp:Menu>控制与.sitemap文件,添加CSSFriendly.DLLCSSFriendlyAdapters.browser文件(所有这一切你做),以获得呈现为<ul><li>是菜单.. 。

AND THEN

...下载/加Superfish with jQuery(的.js和.css文件)和搜索和替换superfish.css改变 '默认' 快鱼风格与一个菜单控制呈现(例如,sf-menuAspNet-Menu)。

jQuery非常酷 - 和'recommended' by Microsoft

你可以在'conceptdevelopment.net'查看源代码来查看它的工作...或者download an example project包含你需要的所有文件。

(我仍然在试图找出如何让菜单的默认类改变,而不是搜索和替换黑客)

1

我创造了你可以在http://simplesitemenu.codeplex.com/

使用一个整洁的小样本项目

这是一个复合控件,它可以从站点地图生成嵌套的UL/LI列表。

享受!