Internet Explorer'da Otomatik Tamamlama etkinse TextBox denetiminin TextChanged olayı tetiklenmeyebilir

Uyarı

Kullanımdan kaldırılan, destek dışı Internet Explorer 11 masaüstü uygulaması, Windows 10'un belirli sürümlerinde Microsoft Edge güncelleştirmesi aracılığıyla kalıcı olarak devre dışı bırakılmıştır. Daha fazla bilgi için bkz. Internet Explorer 11 masaüstü uygulamasının kullanımdan kaldırılması hakkında SSS.

Bu makalede, Bir TextBox denetiminin TextChanged olayının Internet Explorer'da Otomatik Tamamlama özelliği etkinleştirildiğinde tetiklenmemesi sorununu çözmek için geçici çözüm sağlanır.

Orijinal ürün sürümü: Internet Explorer
Özgün KB numarası: 873198

Belirtiler

Microsoft Internet Explorer'da formların Otomatik Tamamlama özelliğini etkinleştirdiğinizde ve bir Web uygulamasındaki TextBox denetiminin Otomatik Tamamlama açılan listesinden herhangi bir metin seçtiğinizde, TextBox denetimindeki metin değişse bile TextBox denetiminin TextChanged olayı tetiklenmez.

Neden

Bu davranış, Otomatik Tamamlama özelliğini kullanarak açılan listeden metin seçtiğinizde Internet Explorer'ın textBox denetiminin TextChanged olayını tetikleyememesinden kaynaklanmaktadır.

Geçici Çözüm

Bu davranışı geçici olarak çözmek için Web formunun Otomatik Tamamlama özelliğini devre dışı bırakın. Özelliği devre dışı bırakmak için şu adımları izleyin:

  1. Çözüm Gezgini'da WebForm1.aspx sağ tıklayın ve Tasarım Aracı Görüntüle'ye tıklayın.

  2. WebForm1.aspx HTML görünümüne geçin.

  3. Aşağıdaki kodu bulun:

    <form id="Form1" method="post" runat="server">
    
  4. 3. adımda bulunan kodu aşağıdaki kodla değiştirin:

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

Davranışı yeniden oluşturma adımları

1. Adım: Formlar için Otomatik Tamamlama özelliğini etkinleştirme

  1. Internet Explorer'ı başlatın.

  2. Araçlar menüsünde Internet Seçenekleri'ne tıklayın. İnternet Seçenekleri iletişim kutusu görünür.

  3. İçerik sekmesinde, Kişisel bilgiler'in altında Otomatik Tamamla'ya tıklayın. Otomatik Tamamlama Ayarları iletişim kutusu görüntülenir.

  4. Için Otomatik Tamamlama'yı kullan'ın altında, Formlar onay kutusunu tıklatıp seçin ve ardından Tamam'a tıklayın.

  5. İnternet Seçenekleri iletişim kutusunda Tamam'a tıklayın.

2. Adım: TextBox denetimi içeren bir Web uygulaması oluşturma

  1. Microsoft Visual Studio .NET'i başlatın.

  2. Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklayın. Yeni Proje iletişim kutusu görüntülenir.

  3. Proje Türleri'nin altında Visual C# Projeleri'ne tıklayın, Şablonlar'ın altında ASP.NET Web Uygulaması'na tıklayın, Konum kutusunu yazın http://localhost/MyTestAppin ve ardından Tamam'a tıklayın.

  4. Çözüm Gezgini'da WebForm1.aspx sağ tıklayın ve Tasarım Aracı Görüntüle'ye tıklayın.

  5. Görünüm menüsünde Araç Kutusu'na tıklayın.

  6. Web formuna bir TextBox denetimi ekleyin. Varsayılan olarak, TextBox1 adlı bir TextBox denetimi oluşturulur.

  7. TextBox1 TextBox denetiminin Özellikler penceresinde AutoPostBack özelliğini True olarak ayarlayın.

  8. TextBox1 TextBox denetiminin Özellikler penceresinde Olaylar'a tıklayın ve ardından TextChanged öğesine çift tıklayın. TextBox1_TextChanged yordamı, WebForm1.aspx dosyasının Kod görünümüne eklenir.

  9. TextBox1_TextChanged yordamına bir kesme noktası ekleyin.

  10. Dosya menüsünde Tümünü Kaydet'e tıklayarak tüm dosyaları kaydedin.

3. Adım: Web uygulamasını derleme ve hata ayıklama

  1. Derleme menüsünde Çözüm Oluştur'a tıklayın.

  2. Hata Ayıkla menüsünde Başlat'a tıklayın. WebForm1 - Microsoft Internet Explorer Web sayfası görüntülenir.

  3. Metin kutusuna text1 yazın ve ENTER tuşuna basın. Hata ayıklayıcının WebForm1.aspx dosyasının Kod görünümündeki TextBox1_TextChanged yordamında durduğunu fark edeceksiniz.

  4. Hata Ayıkla menüsünde Devam'a tıklayın.

  5. WebForm1 - Microsoft Internet Explorer Web sayfasındaki metin kutusuna text2 yazın ve ENTER tuşuna basın. Hata ayıklayıcının WebForm1.aspx dosyasının kod görünümündeki TextBox1_TextChanged yordamında yeniden durduğunu fark edersiniz.

  6. Hata Ayıkla menüsünde Devam'a tıklayın.

  7. WebForm1 - Microsoft Internet Explorer Web sayfasındaki metin kutusuna t yazın. Daha önce yazdığınız sözcüklerin açılan listesini fark edeceksiniz.

  8. AŞAĞI OK tuşunu kullanarak metin1'i seçin ve enter tuşuna basın.

    TextBox1 TextBox denetiminin TextChanged olayının tetiklenmediğini görürsünüz.

Başvurular

Daha fazla bilgi için bkz. TextBox.AutoPostBack Özelliği.