使用了母版页,imgBooking按钮在DataList1中: protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
int iIndex = e.Item.ItemIndex; AsyncPostBackTrigger Triger = new AsyncPostBackTrigger();
Triger.ControlID = "ContentPlaceHolder1_DataList1_imgBooking_"+ iIndex;
Triger.EventName = "Click";
UpdatePanel2.Triggers.Add(Triger);
}上面代码错误:
未能为 UpdatePanel“UpdatePanel2”中的触发器找到 ID 为“ContentPlaceHolder1_DataList1_imgBooking_0”的控件。在添加AsyncPostBackTrigger时打开页面查看源代码,imbBooking的ID确实为ContentPlaceHolder1_DataList1_imgBooking_0~N这样的,为什么未能找到呢?经过多次测试,我发现只要用母版页,即使Button不包含在DataList中,直接
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ContentPlaceHolder1_Button1" EventName="Click" />
</Triggers>
也未能找到ID,不用母版页就可以。请高手指教。
{
int iIndex = e.Item.ItemIndex; AsyncPostBackTrigger Triger = new AsyncPostBackTrigger();
Triger.ControlID = "ContentPlaceHolder1_DataList1_imgBooking_"+ iIndex;
Triger.EventName = "Click";
UpdatePanel2.Triggers.Add(Triger);
}上面代码错误:
未能为 UpdatePanel“UpdatePanel2”中的触发器找到 ID 为“ContentPlaceHolder1_DataList1_imgBooking_0”的控件。在添加AsyncPostBackTrigger时打开页面查看源代码,imbBooking的ID确实为ContentPlaceHolder1_DataList1_imgBooking_0~N这样的,为什么未能找到呢?经过多次测试,我发现只要用母版页,即使Button不包含在DataList中,直接
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ContentPlaceHolder1_Button1" EventName="Click" />
</Triggers>
也未能找到ID,不用母版页就可以。请高手指教。
为什么到母版页去操作? 难道在母版页中执行
AsyncPostBackTrigger Triger = new AsyncPostBackTrigger();
Triger.ControlID = "ContentPlaceHolder1_DataList1_imgBooking_"+ iIndex;
Triger.EventName = "Click";
UpdatePanel2.Triggers.Add(Triger);
这个动作?
Triger.ControlID = e.Item.FindControl("imgBooking").UniqueID;
这个不会出错了,但是点了按钮还是没反应呀,不执行Click事件。