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

StackOverflow https://stackoverflow.com/questions/241373

  •  04-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top