JavaScript ile ContentPlaceHolder İçindeki Sunucu Kontrollerine Ulaşmak
Web uygulamaları geliştirirken MasterPage kontrolü kullanıldığında içerik sayfalarında kullanılan sunucu kontrolleri istemci tarafında farklı isimlendirilir.
Örneğin, Name özelliği txtAd olan TextBox kontrolünün istemci tarafında aldığı id değeri ctl00_ContentPlaceHolder1_txtAD olacaktır. Bu durumda istemci tarafındaki javascript fonksiyonundan kontrollere erişim çok pratik olmayacaktır.
Şimdi bu durum karşısında nasıl bir tavır takınacağımıza bakalım :)
Örneğimizde, içerik sayfasında bulunan 4 adet TextBox kontrolünün Text özelliğini temizleyen bir javascript fonksiyonumuz olacak.


Nasıl ki MasterPage kontrolü, karışıklığı engellemek için kontrollerin id özelliklerine öneki contentplaceholder ekliyorsa, bizde temizlemek istediğimiz kontrolleri, id özelliği region1 olan bir div içinde kullandık.
Daha sonra div içindeki tüm input kontrollerini aldık ve özelliği text olanları temizledik.
Yorumlar
Mehmet GÜL
Hocam öncelikle verdiğiniz bu güzel örneklerden dolayı çok teşekkür ederim.Ben bu uygulamayı kullandım,texbox ların içeriğini gayet güzel siliyor.Ancak texbox'ın multiline özelliğini aktif hale getirince içeriği silmiyor.biraz uğraştım ama sonucu değiştiremedım,yardımcı olabilirmisiniz acaba?
şimdiden çok teşekkür ederim iyi çalışmalar...
24 Nisan Cuma, 2009
Emre
Selam Mehmet,
Çalışmaması gayet normal aslında :)
Sebebi ise;
TextBox kontrolünün TextMode özelliğini multiline yaptığında, Html tarafına <input type="text" değil <texarea olarak aktarılmasıdır. Bu durumda aşağıdaki kodları javascript fonksiyonuna eklersen problemin çözülecektir;
elements = document.getElementById(bolge).getElementsByTagName("textarea");
len = elements.length;
for (var i = 0; i < len; i++) {
elements[i].value = '';
}
1 Mayıs Cuma, 2009
Süleyman
Bu form içerisindeki bütün kontrollere nasıl ulaşabiliriz.
Mesela form içindeki bir div in height width x y özelliklerini code behind a atmam gerek yardımcı olursanız sevinirim
s.cebesoy_@hotmail.com
17 Ağustos Pazartesi, 2009
Emre AYRILMAZ
Selam,
div gibi html kontrollerine kod tarafından erişmek için id ve runat özelliklerini eklemen gerekir. Daha sonra şu şekilde "witdh" özelliğini yakalayabilirsin;
//aspx
div id="divo" runat="server" style="width:215px;.........................
//cs
string width = divo.style["width"];
17 Ağustos Pazartesi, 2009