다음을 통해 공유


방법: ASP.NET 웹 서버 컨트롤에 포커스 설정

업데이트: 2007년 11월

응용 프로그램에서 필요한 경우 서버 코드를 사용하여 특정 ASP.NET 웹 서버 컨트롤에 포커스를 설정할 수 있습니다. 특정 컨트롤에 동적으로 포커스를 설정하거나, 기본적으로 포커스를 가져올 컨트롤을 지정할 수 있습니다. 기본 포커스를 폼 전체에 설정하거나 Panel 컨트롤의 자식 컨트롤에 설정할 수 있습니다.

다음과 같은 형식의 컨트롤에 포커스를 설정할 수 있습니다.

위에 나열된 컨트롤 중 하나 이상이 포함된 컨트롤에 포커스를 설정할 수도 있습니다. 예를 들어 Login 컨트롤에 포커스를 설정할 수 있습니다. 이 경우에는 Login 컨트롤에서 첫 번째 대상 컨트롤에 포커스가 설정됩니다.

일반적으로 포커스를 받을 수 없거나, 숨김 또는 비활성 상태의 컨트롤에 포커스를 설정하면 호출이 무시됩니다. 데이터 소스 컨트롤처럼 보이지 않는 컨트롤에 포커스를 설정하려고 하면 예외가 throw됩니다.

참고:

포커스를 설정하려면 브라우저에서 클라이언트 스크립팅 기능을 사용할 수 있어야 합니다.

ASP.NET 웹 서버 컨트롤에 포커스를 설정하려면

  • 컨트롤의 Focus 메서드를 호출합니다.

    -또는-

  • 페이지의 SetFocus 메서드를 호출하고 포커스를 설정할 컨트롤의 ID를 메서드에 전달합니다.

    다음 코드 예제에서는 ID가 TextBox1인 컨트롤에 포커스를 설정하는 방법을 보여 줍니다.

    보안 정보:

    이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다. 기본적으로 ASP.NET 페이지에서는 사용자 입력 내용에 스크립트나 HTML 요소가 포함되어 있지 않은지 유효성을 검사합니다. 자세한 내용은 스크립트 악용 개요를 참조하십시오.

     [Visual Basic]
    Protected Sub Page_Load(ByVal sender As Object, _
        ByVal e As System.EventArgs)
        TextBox1.Focus()
    End Sub
    
    protected void Page_Load(object sender, EventArgs e)
    {
        TextBox1.Focus();
    }
    

폼 또는 패널에 기본 포커스를 설정하려면

  • 페이지의 form 요소나 Panel 컨트롤의 DefaultFocus 특성을 설정합니다.

    다음 코드 예제에서는 TextBox1 컨트롤에 기본 포커스가 설정된 페이지를 보여 줍니다.

    <%@ Page Language="VB" %>
    <html>
    <head >
      <title>Test Page</title>
    </head>
    <body>
      <form id="form1"  defaultfocus="TextBox1" >
        <div>
          <asp:TextBox ID="TextBox1" ></asp:TextBox>
          <br />
          <asp:Button ID="Button1"  Text="Button" />
          <br />
        </div>
      </form>
    </body>
    </html>
    
<%@ Page Language="C#" %>
<html>
<head >
  <title>Test Page</title>
</head>
<body>
  <form id="form1"  defaultfocus="TextBox1" >
    <div>
      <asp:TextBox ID="TextBox1" ></asp:TextBox>
      <br />
      <asp:Button ID="Button1"  Text="Button" />
      <br />
    </div>
  </form>
</body>
</html>

참고 항목

개념

ASP.NET 웹 서버 컨트롤의 탭 순서, 포커스 및 선택키