2013-03-19 2 views
0

각각 TextBox (TextBoxA)와 3 개의 버튼 (ButtonA, ButtonBButtonC)이 포함 된 CompositeControl이 있습니다. 내 페이지는 페이지의 상태에 따라이 CompositeControls 중 n을 동적으로 생성합니다.ASP.NET 내의 TextBox에 TabIndex 설정 동적 생성 컨트롤?

I가 컨트롤 OnPreRender 방법 중 각 제어에 대해 1 씩 증가하는 양의 값 TextBoxA의 tabIndex를 설정 한 : I가 customControlPosition 올바르게 긍정적 할당되는 디버깅을 검증 한

TextBoxA.TabIndex = customControlPosition; 
ButtonA.TabIndex = -1; 
ButtonB.TabIndex = -1; 
ButtonC.TabIndex = -1; 

증분 값 (1, 2, 3, 4 등)을 TabIndex 속성에 추가합니다.

현재의 동작은 Tab 키를 누를 때마다 CompositeControl (TabIndex가 -1이고 탭하지 않아야 함) 내의 각 버튼을 강조 표시하기 위해 커서를 이동하여 다음 CompositeControl의 TextBox에 커서를 놓습니다. 내가 뭘 원하는 Tab 직접 한 TextBox에서 다음 CompositeControl의 TextBox로 이동 키를 가지고 있습니다.

제가이 작업을 수행 할 수 있도록 놓친 것이 있습니까?

답변

2

내가 문제를 발견

이 참조.

사용중인 TextBox는 asp : TextBox의 래퍼 인 사용자 지정 클래스이며 사용자 지정 클래스가 TabIndex 값을 asp : TextBox에 올바르게 지정하지 않았습니다.

1

TabIndex (최대 가능) 버튼을 사용해보십시오. 번호가 높을수록 나중에 컨트롤이 탭 순서로 표시됩니다.

32767이 페이지에 추가 할 컨트롤의 수보다 훨씬 높다고 생각합니까?

Tab Index

+0

각각의 TextBox에 대해 32767의 TabIndex를 지정하고 '(32700 + customControlPosition)'의 고유 값을 시도했지만 동일한 동작을했습니다. Tab 키는 다음 컨트롤의 TextBox 대신 각 컨트롤 내의 Button으로 이동합니다. –

+0

HTML 출력물을 보았습니까? – Oliver

+0

HTML 출력에 tabindex 값이 표시되지 않아 [답변]으로 연결됩니다 (http://stackoverflow.com/a/15503840/745511). 고맙습니다! –