лучший способ генерировать и выделять пункты меню на сервере (asp.net) - PullRequest
0 голосов
/ 28 октября 2008

У меня есть компонент ascx, который содержит двухуровневое меню, потому что есть несколько пользовательских типов, и меню должно быть вычислено на сервере.

В любом случае - я также делаю выделение текущего элемента меню на сервере (добавление выбранного класса / CSS к элементу). Выделение с помощью javascript не является хорошим вариантом, поскольку в сетках данных есть содержимое, которое вызывает обратную передачу и должно оставаться в меню в том же положении, что и выбранное значение. Так что я делаю это как какое-то сопоставление с хеш-таблицей (например, пары (url-of-of-site, menu-item-to-highlight)), и мне нужно включить сопоставление для каждого сайта, который содержит мое веб-приложение. заказать, я хочу, чтобы меню выделены ... так что как-то меня беспокоит, что должен быть лучший способ сделать это. Есть ли лучшие методы?

1 Ответ

2 голосов
/ 28 октября 2008

Техника, которую я использую на своих главных страницах / страницах с контентом в .NET 2.0, - это использование общедоступного метода под названием «SetNavigation», который принимает строковый символ, соответствующий элементу управления гиперссылкой, который я хочу выделить. Этот метод устанавливает таблицу стилей CSS указанной гиперссылки на мою «выбранную».

Затем на моих дочерних страницах в методе Page_Load я вызываю метод SetNavigation и передаю ссылку на основе текущей страницы, на которой я нахожусь, например SetNavigation ("hypSearch")

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

...