인터넷 Explorer 자동 완성을 사용하는 경우 TextBox 컨트롤의 TextChanged 이벤트가 실행되지 않을 수 있습니다.

경고

사용과 지원이 중단된 Internet Explorer 11 데스크톱 애플리케이션이 Microsoft Edge 업데이트를 통해 특정 버전의 Windows 10에서 영구적으로 비활성화될 예정입니다. 자세한 내용은 Internet Explorer 11 데스크톱 앱 지원 중단 FAQ를 참조하세요.

이 문서에서는 인터넷 Explorer 자동 완성 기능을 사용하는 경우 TextBox 컨트롤의 TextChanged 이벤트가 발생하지 않는 문제를 해결하기 위한 해결 방법을 제공합니다.

원래 제품 버전: 인터넷 Explorer
원본 KB 번호: 873198

증상

Microsoft 인터넷 Explorer 양식의 자동 완성 기능을 사용하도록 설정한 다음 웹 애플리케이션의 TextBox 컨트롤 자동 완성 드롭다운 목록에서 텍스트를 선택하면 TextBox 컨트롤의 텍스트가 변경되더라도 TextBox 컨트롤의 TextChanged 이벤트가 발생하지 않습니다.

원인

이 동작은 자동 완성 기능을 사용하여 드롭다운 목록에서 텍스트를 선택할 때 인터넷 Explorer TextBox 컨트롤의 TextChanged 이벤트를 실행할 수 없기 때문에 발생합니다.

해결 방법

이 동작을 해결하려면 웹 양식의 자동 완성 기능을 사용하지 않도록 설정합니다. 기능을 사용하지 않도록 설정하려면 다음 단계를 수행합니다.

  1. 솔루션 탐색기 WebForm1.aspx 마우스 오른쪽 단추로 클릭한 다음 보기 Designer 클릭합니다.

  2. WebForm1.aspx HTML 보기로 전환합니다.

  3. 다음 코드를 찾습니다.

    <form id="Form1" method="post" runat="server">
    
  4. 3단계에서 찾은 코드를 다음 코드로 바꿉다.

    <form id="Form1" method="post" runat="server" autocomplete="off">
    

동작을 재현하는 단계

1단계: 양식에 자동 완성 기능 사용

  1. Internet Explorer를 시작합니다.

  2. 도구 메뉴에서 인터넷 옵션을 클릭합니다. 인터넷 옵션 대화 상자가 나타납니다.

  3. 콘텐츠 탭의 개인 정보에서 자동 완성을 클릭합니다. 자동 완성 설정 대화 상자가 나타납니다.

  4. 자동 완성 사용에서 검사 상자를 클릭하여 선택한 다음 확인을 클릭합니다.

  5. 인터넷 옵션 대화 상자에서 확인을 클릭합니다.

2단계: TextBox 컨트롤이 포함된 웹 애플리케이션 만들기

  1. Microsoft Visual Studio .NET을 시작합니다.

  2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다. 새 프로젝트 대화 상자가 나타납니다.

  3. 프로젝트 형식에서 Visual C# 프로젝트를 클릭하고 템플릿에서 ASP.NET 웹 애플리케이션을 클릭하고 위치 상자를 입력 http://localhost/MyTestAppin 한 다음 확인을 클릭합니다.

  4. 솔루션 탐색기 WebForm1.aspx 마우스 오른쪽 단추로 클릭한 다음 보기 Designer 클릭합니다.

  5. 보기 메뉴에서 도구 상자를 클릭합니다.

  6. 웹 양식에 TextBox 컨트롤을 추가합니다. 기본적으로 TextBox1이라는 TextBox 컨트롤이 만들어집니다.

  7. TextBox1 TextBox 컨트롤의 속성 창에서 AutoPostBack 속성을 True로 설정합니다.

  8. TextBox1 TextBox 컨트롤의 속성 창에서 이벤트를 클릭한 다음 TextChanged를 두 번 클릭합니다. TextBox1_TextChanged 프로시저는 WebForm1.aspx 파일의 코드 보기에 추가됩니다.

  9. TextBox1_TextChanged 프로시저에 중단점을 삽입합니다.

  10. 파일 메뉴에서 모두 저장을 클릭하여 모든 파일을 저장합니다.

3단계: 웹 애플리케이션 빌드 및 디버그

  1. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

  2. 디버그 메뉴에서 시작을 클릭합니다. WebForm1 - Microsoft 인터넷 Explorer 웹 페이지가 나타납니다.

  3. 텍스트 상자에 text1을 입력한 다음 Enter 키를 누릅니다. 디버거는 WebForm1.aspx 파일의 코드 보기에서 TextBox1_TextChanged 프로시저에서 중지됩니다.

  4. 디버그 메뉴에서 계속을 클릭합니다.

  5. WebForm1 - Microsoft 인터넷 Explorer 웹 페이지의 텍스트 상자에 text2를 입력한 다음 Enter 키를 누릅니다. 디버거는 WebForm1.aspx 파일의 코드 뷰에서 TextBox1_TextChanged 프로시저에서 다시 중지됩니다.

  6. 디버그 메뉴에서 계속을 클릭합니다.

  7. WebForm1 - Microsoft 인터넷 Explorer 웹 페이지의 텍스트 상자에 t를 입력합니다. 이전에 입력한 단어의 드롭다운 목록이 표시됩니다.

  8. 아래쪽 화살표 키를 사용하여 text1을 선택한 다음 Enter 키를 누릅니다.

    TextBox1 TextBox 컨트롤의 TextChanged 이벤트가 실행되지 않는 것을 볼 수 있습니다.

참조

자세한 내용은 TextBox.AutoPostBack 속성을 참조하세요.