Aracılığıyla paylaş


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.

public:
 virtual System::Web::UI::Control ^ FindControl(System::String ^ id);
public virtual System.Web.UI.Control FindControl (string id);
abstract member FindControl : string -> System.Web.UI.Control
override this.FindControl : string -> System.Web.UI.Control
Public Overridable Function FindControl (id As String) As Control

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ış.

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");
      }
}

Private Sub Button1_Click(sender As Object, MyEventArgs As EventArgs)
' Find control on page.
Dim myControl1 As Control = FindControl("TextBox2")
If (Not myControl1 Is Nothing)
   ' Get control's parent.
   Dim myControl2 As Control = myControl1.Parent
   Response.Write("Parent of the text box is : " & myControl2.ID)
Else
   Response.Write("Control not found.....")
End If
End Sub

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

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.

protected:
 virtual System::Web::UI::Control ^ FindControl(System::String ^ id, int pathOffset);
protected virtual System.Web.UI.Control FindControl (string id, int pathOffset);
abstract member FindControl : string * int -> System.Web.UI.Control
override this.FindControl : string * int -> System.Web.UI.Control
Protected Overridable Function FindControl (id As String, pathOffset As Integer) As Control

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