<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
...
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate> <asp:ImageButton ID="imgBooking" ImageUrl="~/Images/Web/btnBooking.gif" runat="server" onclick="imgBooking_Click" /> </ItemTemplate>
</asp:DataList>
...
</ContentTemplate>
</asp:UpdatePanel>以上代码为什么点击ImageButton没反应,不会执行onclick事件,要添加
<Triggers>
<asp:PostBackTrigger ControlID="DataList1" />
</Triggers>
这个才行,搞不明白,但加了这个之后又不能起到局布刷新了,整个页面都刷新,又达不到我想要的效果。请高手指点指点。
<ContentTemplate>
...
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate> <asp:ImageButton ID="imgBooking" ImageUrl="~/Images/Web/btnBooking.gif" runat="server" onclick="imgBooking_Click" /> </ItemTemplate>
</asp:DataList>
...
</ContentTemplate>
</asp:UpdatePanel>以上代码为什么点击ImageButton没反应,不会执行onclick事件,要添加
<Triggers>
<asp:PostBackTrigger ControlID="DataList1" />
</Triggers>
这个才行,搞不明白,但加了这个之后又不能起到局布刷新了,整个页面都刷新,又达不到我想要的效果。请高手指点指点。
<asp:AsyncPostBackTrigger ControlID="ImageButton1" EventName="Click" />
</Triggers>没指名ImageButton1也
没有这个触发事件EventName="Click"
不明白为什么要写这样写在DataList的ItemCommand事件中给ImageButton设置CommandName和CommandArgument。。
<asp:DataList ID="DataList1" runat="server" Width="100%" DataKeyField="cate_id" RepeatDirection="Horizontal" RepeatColumns="4" onitemdatabound="DataList1_ItemDataBound" onitemcommand="DataList1_ItemCommand">
<ItemTemplate>
<asp:ImageButton ID="imgBooking" ImageUrl="~/Images/Web/btnBooking.gif" runat="server" CommandName="Booking" />
</ItemTemplate>后台:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
Response.Write("xxxxxx"); // 这句都不执行。
if (e.CommandName == "Booking")
{
......
}
}
这样还是不行,点了没任何反应,关键问题还是在UpdatePanel上。