2012-03-28 3 views
4

У меня есть UpdatePanel, в котором есть ретранслятор, а внутри ретранслятора есть кнопка, которую я хочу быть PostBackTrigger для UpdatePanel (а не AsyncPostBackTrigger).ASP.NET Repeater внутри UpdatePanel, необходимо создать PostBackTrigger

Я попытался создать триггер в коде, находящемся в событии ItemDataBound в Repeater (используя код ниже), но ничего не пробовал работать.

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

Я стараюсь держаться подальше от панелей обновления. Сделайте ajax-вызовы, используя JQuery вместо :-). – TGH

+4

Только что нашел ответ сам (нужно подождать 8 часов, прежде чем я смогу добавить ответ сам). Мне нужно использовать ScriptManager.RegisterPostBackControl вместо того, чтобы пытаться добавить триггер. Например. ScriptManager.RegisterPostBackControl (e.Item.FindControl ("btnCourseAttachmentUpdateSubmit")); – johna

+0

Хорошая работа. :-) Удачи! – TGH

ответ

3

ScriptManager.RegisterPostBackControl (e.Item.FindControl ("btnCourseAttachmentUpd ateSubmit"));

+0

поместите его здесь, чтобы все остальные могли найти решение легко ... –

Смежные вопросы