JavaScript ile ContentPlaceHolder İçindeki Sunucu Kontrollerine Ulaşmak

14 Ekim Salı, 2008 | Javascript Asp.net Html /*Yorumlar (4)*/

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.

JavaScript

Html

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

Yorum Yaz

Ad

Email (sahte adresli yorumlar silinir.)

Yorum