질문 : ASP .NET의 웹 컨트롤에 포커스를 설정하는 가장 좋은 방법은 무엇입니까?ASP.NET의 웹 컨트롤에 포커스를 설정하는 방법
나는 할 수 있지만 못생긴다. 나는 웹 컨트롤이 웹 페이지에 호스팅 된 웹 컨트롤에 싸여 있습니다. 그래서, 당신이보기를한다면 | 소스는 페이지에서 ID는 WrapperControl_Control_TextBox와 유사합니다.
나는 요소를 잡고 포커스를 설정하는 "실용적이고"정확한 자바 메소드를 시도했다. document.getElementByID ("WrapperControl_Control_TextBox") .focus(); 그것은 작동하지 않았다. 이유가 확실하지 않습니다.
내가 할 수있는 것으로 알고 있습니다. document.getElementById ("< % = TextBox.ClientID %>") .focus(); 너무, 나는 생각한다. 페이지에 "< %%"가 있으면 헤더에 컨트롤을 동적으로 추가 할 수 없다는 사실에 기반한 또 다른 완전히 별개의 오류로 인해 작동하지 않습니다. GAH.
"맨 아래"컨트롤에서 나는 Page_Load에서 포커스 (TextBox.Focus())를 설정하려고 시도했으나 작동하지 않습니다.
어쨌든 작동하는 방법은 페이지의 ControlsCollection을 가져 와서 필요한 컨트롤을 가져 와서 컬렉션을 얻고 다음 컨트롤을 가져 오는 것입니다.
나는 이것을 7 번만하면됩니다. 그래서 저는 8 개의 foreach 루프를 가지고 있습니다.
기본적으로, 내 코드는 다음과 같다 :
/////////////////////////////// // 페이지
이ControlCollection controls = Controls;
foreach(Control control in controls)
{
if (string.Equals(control.ID, "FormID", StringComparison.InvariantCultureIgnore))
{
ControlCollection nextControls = control.Controls;
foreach(Control nextControl in nextControls)
{
if (string.Equals(nextControl.ID, "DivICareAboutInTheForm", StringComparison.InvariantCultureIgnor))
{
ControlCollection nextNextControls = nextControl.Controls;
//:
//:
//Yes, it's that bad and so forth.
//:
//:
}
}
}
}
당신은 주위에 얻을 수
우리는 JQuery가 없지만 추가 할 것이 있습니다. 감사. – Dan7el
JQuery를 설치하고 스크립트를 실행합니다. 그것은 작동합니다! 엄청 고마워! – Dan7el