29 Mayıs 2008 Perşembe

HOWTO: Debugging JavaScript using "debugger;"

(Kaynak: HOWTO: Debugging JavaScript using "debugger;" )

There are a lot of developers who write custom JavaScript or need to debug pre-written JavaScript, yet do not know that they can debug it in Visual Studio 2005. This is a fairly simple process.
Visual Studio offers the developer the ability to utilize the IDE to debug, just like you would debug if you are debugging .NET code. How? Very simple, the "debugger;" key word.
How It Works
First, you must enable script debugging in Internet Explorer (we will get that in a minute, first lets look at some code).
To debug: Write your JavaScript and place the "debugger" keyword where ever you want the code to break into debugging. The JavaScript interpreter hits this keyword and halts execution and returns the control back to the IDE. This is like setting a breakpoint inside of Visual Studio.

Response.Filter : Çıktıyı Filitrelemek

(Kaynak: Oğuz Yağmur'un Günlüğü)
Bazen bir aspx sayfasının çıktısı üzerinde işlemler yapmak isteyebilirisiniz. Örneğin sayfadaki yasaklı kelimelerin - genelde forumlarda ihtiyaç duyulur :) - düzenlenmesi, ya da bazı bilindik kelimeler üzerinde işlem yapmak isteyebiliriz. Mesela ben sayfamda BT Akademi ve oğuz kelimelerine rastladığımda ilgili kelimelerin yerine sanki linki verilmiş gibi yer almasını isteyebilirim. Bu durumda yapmamız gereken çıktının - Response - Filter özelliğinden yararlanmak. Filter özelliğini - property- incelediğimizde aslında bunun bir Stream nesnesi olduğunu görürüz. Bu durumda yapmamız gereken görüntülenmesini istediğimiz çıktıyı kendimiz oluşturmak. Bunu da kendi Filter - aslında Stream'dan türemiş bir class oluşturmak - nesnemizi oluşturup Response.Filter özelliğine bu kendi nesnemizi vermekten ibaret.

Stream sınıfı abstract bir class olduğundan abstract - özet kelimesini pek sevmesem de Türkçe'de başka kelime anlamını tam veremiyor- olarak bildirilmiş metodlarını kendi sınıfımızda uygulamamız - implement - gerekiyor. Bunları ekteki dosyadan inceleyebilirsiniz. Asıl üzerinde durulması gereken konu ise bu oluşturduğumuz sınıfın Write(...) metodu. Bu metod içinde sayfamızda görünmesini istediğimiz çıktıyı kendimizin oluşturması.