서버 (ASP.NET)에서 메뉴 항목을 생성하고 강조하는 가장 좋은 방법

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

  •  04-07-2019
  •  | 
  •  

문제

여러 사용자 유형이 있기 때문에 2 단계 메뉴를 보유하는 ASCX 구성 요소가 있으며 메뉴는 서버에서 계산해야합니다.

어쨌든 - 서버에서 현재 메뉴 항목의 강조 표시를하고 있습니다 (선택한 클래스/CSS를 항목에 추가). DataGrids에 내용이 있기 때문에 JavaScript로 강조하는 것은 좋은 옵션이 아닙니다. 이는 PostBack을 유발하고 선택한 값과 동일한 위치에 메뉴를 유지해야합니다. 그래서 나는 이것을 해시 테이블 (예 : URL-OF-SITE, MENU-ITEM-to-HIGHLIGHT)으로 한 종류의 매핑으로 수행하고 있으며 웹 애플리케이션에 포함 된 모든 사이트에 대한 매핑을 포함해야합니다. 순서 나는 메뉴를 강조하고 싶다 ... 그래서 어쨌든 이것을하는 더 좋은 방법이 있어야한다는 것을 귀찮게한다. 더 나은 기술이 있습니까?

도움이 되었습니까?

해결책

.NET 2.0이있는 마스터 페이지/컨텐츠 페이지에서 사용하는 기술은 하이퍼 링크 제어와 상관 관계가있는 문자열 문자를 취하는 "setNavigation"이라는 공개적으로 액세스 할 수있는 메소드를 공개하는 것입니다. 이 방법이하는 일은 지정된 하이퍼 링크의 CSS 스타일 시트를 내 "선택한"하나로 설정하는 것입니다.

그런 다음 자녀 페이지에서 Page_load 메소드에서 SetNavigation 메소드를 호출하고 SetNavigation ( "HypSearch")과 같은 현재 페이지를 기반으로 링크를 전달합니다.

ASCX 컨트롤에서 유사한 컨트롤을 만들고 Page_Load 이벤트를 만들 수 있거나 버튼 클릭 이벤트가 원하는 경우 메소드를 호출 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top