asp.net菜单控件 - 格式化

时间:2009-01-29 11:24:41

标签: .net asp.net controls

我正在尝试使用.sitemap文件在我的网站中构建菜单;但是我对输出有很多问题。

首先,表输出不好 - 我下载了'CSSFriendly'DLL(http://www.codeplex.com/cssfriendly)..这现在输出ul和li的输出..

但我希望菜单中没有javascript或css,一次弹出一个等级。

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

我认为长期和短期是:人们是否应该清除菜单控件并自己编写标记?如果没有,这不是一条可怕的路线 - 我怎么能摆脱所有的格式和鼠标滑过爵士......我只想要一个完整的菜单,水平显示(我可以用我的CSS做到这一点)。< / p>

感谢您提供任何帮助,如果这个问题看起来很乱(沮丧),也会道歉。 皮特

4 个答案:

答案 0 :(得分:2)

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

(我试图为你的静态显示级别问题找到一些代码,但目前无法访问我的SVN存储库。但是我遇到了同样的问题并且很容易修复。)

当然,MS菜单永远不会像你自己用HTML编写的那样整洁,但是如果你不想花太多时间而且想要使用所有的SiteMapProvider东西,那就太棒了。

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

答案 1 :(得分:2)

皮特,

我挖出了一些使用asp.net菜单控件的旧代码。那里几乎没有,将StaticDisplayLevels设置为2,将Orientation设置为“Horizo​​ntal”使得一切正常。大多数工作都在为它设置外观(如果某些网址仅通过查询字符串而有一些黑客突出显示当前位置)。

但是,切换到使用CSS友好适配器,我得到你描述的完全相同的问题(只显示根项目,不能水平渲染)。

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

有一些工作示例

克里斯

答案 2 :(得分:1)

peteski22,

我最近在 jQuery Menu and ASP.Net Sitemap 上回答了类似的问题。我在这里再次总结一下:

基本上我将<asp:Menu>控件与 .sitemap 文件一起使用,添加了CSSFriendly.DLLCSSFriendlyAdapters.browser个文件(所有这些都已完成)以获取菜单呈现为<ul><li> s ...

然后

...在superfish.css中下载/添加Superfish with jQuery(。js和.css文件)和搜索并替换以更改'默认'Superfish样式Menu控件呈现的那个(例如sf-menuAspNet-Menu)。

jQuery非常酷 - 而'recommended' by Microsoft

您可以在conceptdevelopment.net'查看来源'以查看其有效...或 download an example project 以及您需要的所有文件。

(我仍在试图弄清楚如何更改菜单的默认类,而不是搜索和替换黑客)

答案 3 :(得分:1)

我在http://simplesitemenu.codeplex.com/

创建了一个简洁的小样本项目

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

享受!