Jquery Fancybox ile Asp.net üzerinde postback sorunu nasıl çözülür

Fancybox (Version: 1.3.4 (2010/11/11)) modal popup kullanırken eğer sayfanızın içinde postback işlemi gerçekleştiriliyorsa fancybox kodları çalışmıyor ve popup olarak açmak istediğiniz sayfa farklı bir url olarak _parent alanında açılıyor.

Bu sorunu giderebilmek için kodlarınızda aşağıdaki düzenlemeyi yapmanız gerekiyor.

 

 

 

Fancybox standart kullanım şekli;

$(document).ready(function () {

			$("a#editor").fancybox({
				'title': 'Editör',
				'titleShow': true,
				'titlePosition': 'over',
				'titleFormat': 'formatTitle',
				'type': 'iframe',
				'width': '98%',
				'height': '98%',
				'hideOnOverlayClick': false,
				'hideOnContentClick': false,
				'overlayOpacity': 0.7,
				'enableEscapeButton': false
			});
});

bu kodların çalışma prensibinde sayfa ilk aktif olduğunda fancybox kodları aktif olur fakat sayfa postback olduğunda bu kod çalışmaz. Fakat postback işlemi yapılırken
fancybox kodunuzun çalışmasını istiyorsanız.

function pageLoad(sender, args) {
			if (args.get_isPartialLoad()) {
				$("a#duzenle").fancybox({

					'titleShow': true,
					'titlePosition': 'over',
					'titleFormat': 'formatTitle',
					'type': 'iframe',
					'width': '98%',
					'height': '98%',
					'hideOnOverlayClick': false,
					'hideOnContentClick': false,
					'overlayOpacity': 0.7,
					'enableEscapeButton': false
				});

			}
		}

kodunu

$(document).ready(function () {

satırının üzerine yerleştirerek fancybox kodunuzun postback işlemlerinde de çalışmasını sağlayabilirsiniz.