Zeki AKDOĞAN - Kişisel Web Sitesi Ana Sayfa | RSS RSS | İletişim

Javascript ile Ajax UpdatePanel Kontrolünü Tetikleme


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;

}

Kaynak

Yazılım | Yorum Ekle(0)| 11.08.2011 02:15:38
Etiketler: updatepanel javascript

Update Panel içerisinde javascript kullanımı


//Codebehind tarafında javascriptimizi oluşturacak fonksyon
public void CreateMessageAlertInUpdatePanel(UpdatePanel up, string strMessage)
    {
        string strScript = "alert('" + strMessage + "');";
        Guid guidKey = Guid.NewGuid();
        ScriptManager.RegisterStartupScript(up, up.GetType(), guidKey.ToString(), strScript, true);
    }

// Kullanımı

CreateMessageAlertInUpdatePanel(Me.UpdatePanel1, "Merhaba")

Kişisel | Yorum Ekle(0)| 04.03.2010 06:22:37
Etiketler: updatepanel javascript

Ana Sayfa | RSS | İletişim
Zeki AKDOĞAN 2009 © Hiçbir hakkı saklı değildir.