selamlar.. ASP.NET te C# ile Server taraflı bir kontrolüm var (örneğin bir textbox vve runat=server şeklinde).. ben bu kontrolün değişim olayına JavaScript kodu yazmak istiyorum ancak yazdığımız zaman haliyle iyi çalışmalar...
bir soru daha eğer biz web formumuzda html nesnesi kullanırsak bunun içeriğine cambazlık yapmadan server tarafında nasıl erişebiliriz ??
.NET platformu web projendeki sayfaları cliente gösterirken ASP.NET objeleri olarak göstermez, onları normal html kodlarına dönüştürüp gösterir. Mesela TextBox'lar <input type="text"......> olur. DropDownList'ler <select....> olur. dolayısıyla javascript eklemek için bu nesneleri kullanman gerekir. eğer tek bir TextBox'a javascript kontrolü eklemek istiyorsan o nesnene bir ID ver, daha sonra formunun onLoad event'ine bir fonksiyon bağla.
bu topic sanırım işine yarar. Son attığım mesajda yukarda anlattığım şeyi yapan örnek bir html dosyası var.
ayrıca eğer birden fazla objeye spesifik olarak hangisi olduğuna bakmaksızın aynı fonksiyonu "on the fly" bağlamak istiyorsan: (mesela bütün textbox'larına bi fonksiyon...)
<script language=javascript> x=document.getElementsByTagName('input'); for (var i=0; i < x.length; i++) { if ( x.type == 'text' ) x.className = 'ikinciFonksiyon("deliParametre")'; } </script>
gerisi aynı.
cambazlığa gelince html nesnene ID verip cs dosyanda da bir TextBox instance'ı oluşturman gerekiyor galiba. daha az cambazlıklı bi yöntem gelmiyor benim aklıma.
teşekkür ederim... sanırım verdiğin topic uçmuş.. dediğin gibi sorunum zaten nesneleri server tarafında kendi isteği gibi tutması ve tag içine js olay fonksiyonlarına çağrı yazmamıza izin vermemesi (compile error veriyo)..cevaptan ama anladığım kadarıyla biz bu nesnelere (input vs..) js sayesinde sayfa geldikten sonra olay bağlayabiliyoruz.. zaten öle bişi olmak zorunda.. ben farklı bi şekilde çözdüm hehe nesneleri html nesnesi yaptım sayfa client gidince olaylar gerçekleşiyor js çalışıyo ve veriler geri giderken de serverda işleyebilmek için değerleri gizli .net nesnelerine gömdüm biraz kastı ama neyse dediğiniz olayı da araştırmam lazım artık js bilgim çok iyi değil.. iyi çalışmalar tekrar teşekkürler..
sanırım geçici bi sorun falan olmuş.. dediğin topiğe ulaştım..
function ikinciFonksiyon(param) { return function(){ window.alert(param) } } function ilkFonksiyon() { document.getElementById("Deneme").onclick = ikinciFonksiyon("Donanım Haber") }
ama anlamadığım return function olayı tam olarak nedir?? ya da şöle sorayım bu kod işlenirken neler oluyor tam olarak ???
orada fonksiyon çağırıldığında bir fonksiyon döndürülüyor (ne kadar açıklayıcı oldu değil mi) şimdi normalde
function ikinci Fonksiyon(param) { window.alert(param) }
dersen browser body'i yükler yüklemez onLoad'ı çalıştırıyor ve sonrasında da ikinciFonksiyon()u çalıştırıyor. ama sen ikinciFonksiyon()un içinden isimsiz yeni bir fonksiyon döndürürsen Deneme objesinin onClick event'ine o döndürdüğün fonksiyonu bağlıyor. bilmem anlatabildim mi....
tabi yaa bu fonksiyonu böle atayabilme olayı çok güzel.. ilk bakışta direk işletilecekmiş gibi geldi return fonksiyonu ama sadece bağlıyo. çok teşekkürler...