2011-07-27 4 views
1

나는 asp.net의 땅에 처음 왔으며, 검색하고 읽었지만 아무런 운이 없었다.페이지의 2 인스턴스에 대해 사용자 정의 컨트롤 내의 요소에 대한 html id를 설정하는 방법

나는 내 사이트의 기본 가로 탐색에 사용하는 표준 정렬되지 않은 중첩 목록을 가지고 있으며, 웹 사이트의 왼쪽 열에있는 세로 탐색과 동일한 중첩 목록을 사용하고 있습니다. 트리 스타일 탐색.

간단한 유지 관리를 위해 하나의 사용자 컨트롤에 중첩 된 탐색 목록이 포함되어 있고 페이지에 두 번 추가하고 싶습니다.

사이트에서 마스터 페이지를 사용 중입니다. 마스터 페이지에서 머리글과 사이드 바에서 두 번 사용자 컨트롤을 호출 할 수 있지만 js로 대상을 지정할 수 있도록 nav UL 인스턴스의 각 HTML ID를 개별적으로 설정할 수 있어야합니다. .

현재 코드 숨김에 액세스 할 수 없기 때문에 인라인 asp.net을 사용하도록 제한됩니다.

마스터 페이지 에 아마 clientID와 같은 속성을 포함시킬 수 있기를 기대했습니다. :

<uc3:mainnav id="mainnav" clientID="main-nav" runat="server"></uc3:mainnav> 
<uc3:mainnav id="sidebarnav" clientID="sidebar-nav" runat="server"></uc3:mainnav> 

또는 대안 적으로는 가능한 한 다음 사용자 제어에 의해 판독하고, 제어부에서 높은 UL 요소의 ID를 설정할 수있는 masterpage 이러한 라인 다른 속성/값을 넣는 것이다.

이전에 언급했듯이 asp.net 2.0 인라인으로이 작업을 수행하는 외부 당사자의 제약을받으며 코드를 뒤에서 처리 할 수 ​​없습니다.

답변

0

원하는 것을 지정하는 UserControl에 속성을 추가 할 수 있습니다. 이 속성 이름과 값은 다른 컨트롤과 마찬가지로 컨트롤의 선언에 대한 태그에 지정할 수 있습니다.

+0

OP는 코드 숨김에 대한 액세스 권한이 없으므로 인라인으로해야한다고 OP는 설명했습니다. 나는 이것이 또한 그가 사용자 정의 컨트롤의 코드에 접근 할 수 없다는 것을 의미한다고 생각한다. – Tim

+0

안녕하세요, 나는 컨트롤에 대한 codebehind 아니라 usercontrol 내에서 인라인 코드를 작성할 수 있습니다. 그래서 이것은 다음과 같이 할 수있다 : – sirG

+0

''그러면 컨트롤 자체에' ul id = "<% myid %>">'죄송합니다. asp.net에 대해 매우 익숙합니다. – sirG