Управление меню asp.net - Форматирование - PullRequest
1 голос
/ 29 января 2009

Я пытаюсь использовать файл .sitemap для создания меню на моем сайте; Однако у меня есть ряд проблем с выводом.

Во-первых, вывод таблицы был неправильным - я скачал DLL-библиотеку CSSFriendly (http://www.codeplex.com/cssfriendly).. Теперь выдает вывод в ul и li ..

Но я хочу, чтобы в меню не было javascript или css, которые выскакивают уровни по одному за раз и т. Д.

Я думал, что для начала использование StaticDisplayLevels решит эту проблему, но, похоже, его игнорируют и просто выводят первый уровень, затем мне нужно навести курсор мыши, чтобы получить больше пунктов меню.

Полагаю, длинное и короткое звучит так: должны ли люди избегать элементов управления меню и просто сами писать разметку? Если нет, и это не ужасный путь - Как избавиться от всего форматирования и навести курсор мыши на джаз ... Я просто хочу целое меню, отображаемое по горизонтали (хотя я могу сделать это с помощью моего CSS).

Спасибо за любую помощь, также извиняюсь, если этот вопрос кажется искаженным (его разочарование). Пит

Ответы [ 4 ]

2 голосов
/ 01 февраля 2009

Пит,

Я выкопал часть своего старого кода, который использует элемент управления меню asp.net. Там очень мало, установка StaticDisplayLevels на 2 и ориентация на «Горизонтальный» делает все это работает нормально. Большая часть работы заключается в его создании (и есть несколько хаков, чтобы выделить текущее местоположение, если некоторые URL-адреса отличаются только строкой запроса).

Тем не менее, переключитесь на использование дружественного к CSS адаптера, и я получу те же проблемы, которые вы описали (отображается только корневой элемент и он не может отображаться горизонтально).

Заставляет меня задуматься, не сломался ли дружественный к CSS адаптер меню? Есть рабочие примеры для старой версии кода http://www.asp.net/CSSAdapters/Menu.aspx

Chris

2 голосов
/ 29 января 2009

По моему опыту меню ASP.net можно приручить, и оно не так плохо, как может показаться на первый взгляд.

(Я пытался найти код для вашей проблемы с уровнем статического отображения, но в настоящий момент не могу получить доступ к своему хранилищу SVN. Однако у меня возникла та же проблема, и ее довольно легко исправить.)

Конечно, меню MS никогда не будет таким аккуратным, как то, которое вы могли бы написать сами в HTML, но это здорово, если вы не хотите тратить на это слишком много времени и хотите использовать все содержимое SiteMapProvider.

Только не впадайте в "все, что MS предоставляет, это мусор, я должен написать свою собственную" ловушку, потому что это действительно не так уж плохо.

1 голос
/ 19 апреля 2011

Я создал небольшой пример проекта, который вы можете использовать по адресу http://simplesitemenu.codeplex.com/

Это составной элемент управления, который генерирует вложенный список UL / LI из вашей карты сайта.

Наслаждайтесь!

1 голос
/ 20 марта 2009

peteski22,

Я недавно ответил на аналогичный вопрос по jQuery Menu и ASP.Net Sitemap . Я суммировал это снова здесь:

В основном я использовал элемент управления <asp:Menu> с файлом .sitemap , добавил файлы CSSFriendly.DLL и CSSFriendlyAdapters.browser (все, что вы сделали), чтобы меню отображалось как <ul><li> s ...

И ТО

... скачано / добавлено Superfish с jQuery (файлы .js и .css) и поиск и замена в superfish.css для изменения стиля Superfish по умолчанию с тем, который отображает элемент управления Menu (например, sf-menu & rarr; AspNet-Menu).

jQuery очень крутой - и «рекомендовано» Microsoft .

Вы можете «просмотреть исходный код» на conceptdevelopment.net , чтобы увидеть, как он работает ... или загрузить пример проекта со всеми необходимыми файлами.

(я все еще пытаюсь выяснить, как изменить класс по умолчанию в Меню, а не взламывать поиск и замену)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...