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
HEAD tagları arasına aşağıdaki kodu eklemek ve herhangi bir butonun click olayında funksyonu çağırmak yeterli.
<input id="Button1" type='button' onclick='ClearAllControls()' value='Temizle'/>
<script language="javascript" type='text/javascript'>
function ClearAllControls()
{
for (i=0; i<document.forms[0].length; i++)
{
doc = document.forms[0].elements[i];
switch (doc.type)
{
case "text" :
doc.value = "";
break;
case "checkbox" :
doc.checked = false;
break;
case "radio" :
doc.checked = false;
break;
case "select-one" :
doc.options[doc.selectedIndex].selected = false;
break;
case "select-multiple" :
while (doc.selectedIndex != -1)
{
indx = doc.selectedIndex;
doc.options[indx].selected = false;
}
doc.selected = false;
break;
default :
break;
}
}
}
</script>
Yazılım
|
Yorum Ekle(0)|
30.03.2010 01:27:47
Etiketler:
javascript reset
Public Shared Sub CreateMessageAlert(ByVal strMessage As String)
Dim guidKey As Guid = Guid.NewGuid()
Dim pg As Page = HttpContext.Current.Handler
Dim strScript As String = “alert(‘” & strMessage & “‘);”
pg.ClientScript.RegisterStartupScript(pg.GetType(), guidKey.ToString(), strScript, True)
End Sub
Kategori belirtilmemiş
|
Yorum Ekle(0)|
04.03.2010 06:24:19
Etiketler:
javascript
//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