AJAX Sys.WebForms.PageRequestManagerParserErrorException
Kira-kira begitulah teriakan AJAX ketika dia lagi kebingungan.


Asynchronous (independent) postbacks melalui jalur "life cycle" yang sama dengan regular pages. Perbedaan terjadi pada saat rendering. Dengan AJAX, rendering terjadi secara partial yaitu rendering terjadi pada bagian yang berada di UpdatePanel saja. Proses render menggunakan "special format" yang hanya dimengerti oleh JavaScript di client.
Ketika ada interfensi terhadap data yang dikirimkan ke si client (yang dalam bentuk special format itu), maka format yang special tersebut akan rusak dan pada akhirnya si client jadi tidak memahami lagi format data yang diterimanya itu. Proses parsing gagal terjadi dan kemudian munculah error diatas.
Saya menemukan error diatas ketika mengerjakan sebuah module DNN yang terpaksa harus sedikit mengganggu "response stream" sehingga melakukan rendering di luar phase rendering. Luckily, saya menemukan blognya Eilon Lipton yang membahas hal ini dengan sangat bagus sekali. Saya mengikuti sarannya untuk tidak melakukan asynchronous postbacks, tapi melakukan regular postback dengan cara menambahkan PostBackTrigger.
note: DNN akan mendukung AJAX automatically jika ascx yang didaftarkan via module definitions di cek bagian supports partial rendering nya. Dengan men-cek checkbox tersebut maka DNN akan menambahkan scriptmanager dan updatepanel pada module secara "ajaib". saran Eilon yang nomor dua lah yang saya pilih karena alasan yang diungkapkan pada nomor satunya.