방법: ASP.NET 웹 서버 컨트롤에 포커스 설정
업데이트: 2007년 11월
응용 프로그램에서 필요한 경우 서버 코드를 사용하여 특정 ASP.NET 웹 서버 컨트롤에 포커스를 설정할 수 있습니다. 특정 컨트롤에 동적으로 포커스를 설정하거나, 기본적으로 포커스를 가져올 컨트롤을 지정할 수 있습니다. 기본 포커스를 폼 전체에 설정하거나 Panel 컨트롤의 자식 컨트롤에 설정할 수 있습니다.
다음과 같은 형식의 컨트롤에 포커스를 설정할 수 있습니다.
Button, LinkButton 및 ImageButton 컨트롤
CheckBox 컨트롤
DropDownList 컨트롤
FileUpload 컨트롤
HyperLink 컨트롤
ListBox 컨트롤
RadioButton 컨트롤
TextBox 컨트롤
위에 나열된 컨트롤 중 하나 이상이 포함된 컨트롤에 포커스를 설정할 수도 있습니다. 예를 들어 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>