OnClick
的事件ImageButton
在asp.net中不起作用。在这里已经问过这个问题,但所有答案对我来说都行不通。就我而言,唯一的区别是我不在UpdatePanel
页面上。
我的HTML如下:
<ul>
<asp:DataList ID="PhotoGalleryDataList" runat="server" RepeatColumns="2">
<ItemTemplate>
<li><a href="#">
<div>
<span>
<asp:Label ID="idlabel" runat="server" Text='<%#Eval("AdPhotoID") %>'></asp:Label>
<asp:ImageButton ID="AdGallaryImageButton" runat="server" ToolTip="View Photo" CssClass="AdPhotoGallery"
AlternateText="Photo" CausesValidation="false" ImageUrl='<%#string.Format("data:image/jpg;base64,{0}",Convert.ToBase64String((byte[])Eval("NormalImage"))) %>'
OnClick="AdGallaryImageButton_Click" CommandArgument='<%#Eval("AdPhotoID")%>' />
</span>
</div>
</a></li>
</ItemTemplate>
</asp:DataList>
</ul>
在后面的代码中,我这样绑定:
PhotoGalleryDataList.DataSource = dt1;
PhotoGalleryDataList.DataBind();
在dt1
我有NormalImage
,IsProfileImage
并且AdPhotoID
,那里NormalImage
是byte array
和IsProfileImage
是Byte
和AdPhotoID
是varchar(15)
。
在OnClick
事件处理程序中,ImageButton
我有:
protected void AdGallaryImageButton_Click(object sender, ImageClickEventArgs e)
{
// breakpoint here does not get hit
}
在类似DataList
或的数据绑定控件中,Repeater
您应使用OnCommand
事件来处理点击:
<asp:ImageButton ID="AdGallaryImageButton" runat="server" ToolTip="View Photo" CssClass="AdPhotoGallery"
AlternateText="Photo" CausesValidation="false" ImageUrl='<%#string.Format("data:image/jpg;base64,{0}",Convert.ToBase64String((byte[])Eval("NormalImage"))) %>'
OnCommand="AdGallaryImageButton_Click" CommandArgument='<%#Eval("AdPhotoID")%>' />
并更改事件处理程序的签名:
protected void AdGallaryImageButton_Click(object sender, CommandEventArgs e)
{
// Here you can access AdPhotoID argument via e.CommandArgument property
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句