Control.FindControl Yöntem

Tanım

Belirtilen sunucu denetimi için geçerli adlandırma kapsayıcısını arar.

Aşırı Yüklemeler

FindControl(String)

Belirtilen id parametreyle geçerli adlandırma kapsayıcısında bir sunucu denetimi arar.

FindControl(String, Int32)

Geçerli adlandırma kapsayıcısında belirtilen ve parametresinde pathOffset belirtilen id bir tamsayı ile bir sunucu denetimi arar ve bu da aramaya yardımcı olur. Yönteminin bu sürümünü FindControl geçersiz kılmamalısınız.

FindControl(String)

Belirtilen id parametreyle geçerli adlandırma kapsayıcısında bir sunucu denetimi arar.

C#
public virtual System.Web.UI.Control FindControl (string id);

Parametreler

id
String

Bulunacak denetimin tanımlayıcısı.

Döndürülenler

Belirtilen denetim veya null belirtilen denetim yoksa.

Örnekler

Aşağıdaki örnek bir Button1_Click olay işleyicisi tanımlar. Çağrıldığında, bu işleyici, içeren sayfada özelliğine TextBox2 sahip bir ID denetimi bulmak için yöntemini kullanırFindControl. Denetim bulunursa, üst öğesi özelliği kullanılarak Parent belirlenir ve üst denetiminkiler ID sayfaya yazılır. Bulunamazsa TextBox2 , sayfaya "Denetim Bulunamadı" yazılır.

Önemli

Bu örnekte, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu vardır. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.

C#
private void Button1_Click(object sender, EventArgs MyEventArgs)
{
      // Find control on page.
      Control myControl1 = FindControl("TextBox2");
      if(myControl1!=null)
      {
         // Get control's parent.
         Control myControl2 = myControl1.Parent;
         Response.Write("Parent of the text box is : " + myControl2.ID);
      }
      else
      {
         Response.Write("Control not found");
      }
}

Açıklamalar

Arka planda kod sayfasındaki bir işlevden denetime erişmek, başka bir kapsayıcının içindeki bir denetime erişmek veya hedef denetimin çağıranın doğrudan erişilmediği diğer durumlarda kullanmak için kullanın FindControl . Bu yöntem yalnızca denetimin belirtilen kapsayıcı tarafından doğrudan içermesi durumunda bir denetim bulur; yani yöntemi, denetimler içindeki bir denetim hiyerarşisi boyunca arama yapmaz. Hemen kapsayıcısını bilmediğiniz bir denetimi bulma hakkında bilgi için bkz . How to: Access Server Controls by ID.

Ayrıca bkz.

Şunlara uygulanır

.NET Framework 4.8.1 ve diğer sürümler
Ürün Sürümler
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

FindControl(String, Int32)

Geçerli adlandırma kapsayıcısında belirtilen ve parametresinde pathOffset belirtilen id bir tamsayı ile bir sunucu denetimi arar ve bu da aramaya yardımcı olur. Yönteminin bu sürümünü FindControl geçersiz kılmamalısınız.

C#
protected virtual System.Web.UI.Control FindControl (string id, int pathOffset);

Parametreler

id
String

Bulunacak denetimin tanımlayıcısı.

pathOffset
Int32

Bir adlandırma kapsayıcısına ulaşmak için gereken sayfa denetimi hiyerarşisine kadar olan denetim sayısı.

Döndürülenler

Belirtilen denetim veya null belirtilen denetim yoksa.

Şunlara uygulanır

.NET Framework 4.8.1 ve diğer sürümler
Ürün Sürümler
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1