Control.FindControl Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen sunucu denetimi için geçerli adlandırma kapsayıcısını arar.
Aşırı Yüklemeler
FindControl(String) |
Belirtilen |
FindControl(String, Int32) |
Geçerli adlandırma kapsayıcısında belirtilen ve parametresinde |
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.