Masterpage'i olan sayfada kontrol bulmak

30.11.2010

 Masterpage'i bulunmayan sayfalarda FindControl kullanarak yaptığımız kontrol bulma işlemi MasterPage kullanınca biraz daha karışık bir hal alıyor.Ve hatta bazen birden fazla FindControl bulup onun içerisinde bulmak gerekiyor ve bu da uygulamayı daha kırılgan bir hale getiriyor.

Her server-side kontrolün bir form içerisinde olması gerektiğinde yola çıkarak neredeyse her asp.net sayfasının bir form'u bulunmaktadır.Dolyaısıyla kullanmak istediğimiz kontrolü

this.Form.FindControl("kontrolId");

ile bulabiliriz.Eğer fonksiyonumuz sayfa içerisinde değil ve bir kütüphanedeyse context'i yakayalayacak şekilde

((Page)HttpContext.Current.Handler).Form.FindControl("kontrolId");

şeklinde bulabiliriz.Ancak bu işlemi sürekli farklı uygulamalarda kullanıyorsanız kodunuzu try catch bloğu içerisine koymayı unutumayın.

Kaynak : http://csharporcas.blogspot.com/2006/05/master-page-find-control.html