2012-03-28 80 views
4

我有一個UpdatePanel,裏面有一個Repeater,Repeater裏面是一個Button,我想成爲UpdatePanel的PostBackTrigger(而不是AsyncPostBackTrigger)。UpdatePanel內部的ASP.NET Repeater,需要創建PostBackTrigger

我試圖在Repeater的ItemDataBound事件後面的代碼中創建一個觸發器(使用下面的代碼),但沒有任何我嘗試過的。

PostBackTrigger trigger = new PostBackTrigger(); 
//failed 
//trigger.ControlID = "btnCourseAttachmentUpdateSubmit"; 
//failed 
//trigger.ControlID = ((Button)e.Item.FindControl("btnCourseAttachmentUpdateSubmit")).ID; 
//failed 
//trigger.ControlID = ((Button)e.Item.FindControl("btnCourseAttachmentUpdateSubmit")).ClientID; 
//failed 
//trigger.ControlID = ((Button)e.Item.FindControl("btnCourseAttachmentUpdateSubmit")).UniqueID; 
panAttachments.Triggers.Add(trigger); 

我知道有通過使用一個隱藏按鈕來解決此一技術,但在此之前我這樣做,我想知道是否有這樣做的相似,我試圖在上面的代碼的方式?

+1

我傾向於遠離更新面板。使用Jquery調用ajax調用:-)。 – TGH 2012-03-28 01:02:50

+4

我自己找到了答案(必須等待8個小時才能自己添加答案)。我需要使用ScriptManager.RegisterPostBackControl而不是嘗試添加觸發器。例如。 ScriptManager.RegisterPostBackControl(e.Item.FindControl( 「btnCourseAttachmentUpdateSubmit」)); – johna 2012-03-28 01:08:31

+0

幹得好。 :-)祝你好運! – TGH 2012-03-28 01:10:43

回答

3

ScriptManager.RegisterPostBackControl(e.Item.FindControl(「btnCourseAttachmentUpd ateSubmit」));

+0

把它放在這裏,所有其他可以輕鬆地找到解決方案... – 2012-04-06 18:21:44