Her bir Kişinin kendisine bağlı bir Topluluğa sahip bir DataList'im var; tıklatıldığında, zaman uyumsuz bir geri göndermeye neden olması gerektiğinde, OnClick olay işleyicisi bir UpdatePanel'de gösterilen ayrıntıları değiştirebilir [DataList diskin dışında UpdatePanel].Her zaman bir DataList'deki bir Düğme'den bir UpdatePanel için Asenkron Postback'i nasıl tetiklerim?
Düğme'yi, DataList'in OnItemDataBound olay işleyicisinde UpdatePanel değiştirecek şekilde ayarlamak için iki girişimde bulundum. Biri bir AsyncPostBackTrigger'ı UpdatePanel'e atar ve diğeri ScriptManager'a RegisterAsyncPostBackControl'ü gönderir. Her ikisi de çalışıyor ama sadece ilk kez. Başka bir Kişinin Düğmesi [veya ikinci kez aynı Düğme] basılırsa, sayfa tamamen geri gönderilir.
UpdatePanel'in UpdateMode'u Koşullu olarak ayarlanmış ve ScriptManager'da EnablePartialRenderingEnablePartialRendering öğesi true olarak ayarlanmıştır. OnItemDataBound içinde
Kodu: İlk zaman uyumsuz PostBack oldu sonra
Button btnShowNotes = e.Item.FindControl("btnShowNotes") as Button;
// Trigger
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = btnShowNotes.UniqueID;
trigger.EventName = "Click";
upDetails.Triggers.Add(trigger); // UpdatePanel
// The trigger or this is used, not both
ScriptManager1.RegisterAsyncPostBackControl(btnShowNotes);
o referansı kaybetmek gibi görünüyor, ama kesinlikle bu sürekli DataList yeniden bağlamanız gerek kalmadan kalıcı edilebilir? Bunu denediğim şekilde bir şeyi özlemeliyim.
Bir hafta sonu cevapları aramak büyük olasılıkla çok başarılı olmayacak, ama can sıkıcı bir şekilde [normalde] Pazartesi gününe kadar yeni özelliklerin pazara girmesi gerektiğinden bu çözüme ihtiyacım var ve bu da tamamlanmaktan vazgeçen tek şey! – Rich