2009-01-29 81 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列表。

享受!