2012-03-28 78 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