by Eren
16. May 2009 23:50
Dert :
Web formumda bir adet update panel bulunuyor. Ve içinde grid kontrolüm var. Grid kontrolümdeki satırlara tıkladığımda pop-up pencerede satırın detay bilgilerini kullanıcıya sunuyorum. Kullanıcı pop-up pencerede değişiklik yapıp kaydet tuşuna bastığında pop-up pencerem kapanıyor. Kapanma olayıyla birlikte ana sayfamda bir javascript fonksiyonu tetikleniyor. Update Panel'imin içinde yer aalan gridimi refresh edip (sayfa postback olmadan) değişiklikleri görebilmek için nasıl bir yöntem izlemeliyim?
Derman :
Senaryomuzda yer alan soruna alakalı şöyle bir çözüm geliştirdim;
Evvela UpdatePanel'imizin yeniden yüklendiğinde hangi kodları çalıştıracağını yazıyoruz. UpdatePanel'in Load olayına kodlarımızı yazıyoruz;
protected void UpdatePanel1_Load(object sender, EventArgs e)
{
rgStockList.DataSource = new StockLogic(base.CompanyId).GetStockList();
rgStockList.DataBind();
}
Sonra javascript kodlarımıza geçiyoruz ve tetiklenecek yacascript fonsiyonu içinde günümüzün kahramanı __doPostBack()
fonksiyonunu kullanarek update panelimizin içeriğinin server tarafından tekrar render edilmesi talebinde bulunuyoruz.
function OnClientClose() {
__doPostBack('UpdatePanel1', '');
return false;
}
İştebu kadar.
Düşündüğünüzden daha kolaymış dimi?