Reputation: 571
I am using Asp.Net C# 4.0. I am using DataList on a page which include ImageButton. The code is as follows;
<asp:DataList ID="DataList1" runat="server" DataSourceID="ObjectDataSource2"
DataKeyField="Pic_ID">
<HeaderTemplate>
Click Image to enlarge
</HeaderTemplate>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server" Height="110px"
ImageUrl='<%# Eval("Pic_Path") %>' Width="111px"
onclick="ImageButton1_Click(this.ToString())"/>
</ItemTemplate>
</asp:DataList>
I want to send the current ImageUrl in the ImageButton to a method "ImageButton1_Click" on server in code behind. I tried changing my code several times but could not fix it. With this code i am currently getting error which says "Method name expected". My method on server is;
protected void ImageButton1_Click(string Param)
{
//Code here
}
Saying in short, I want to send the Url of the image in DataList to server for some processing. Thanks for any help.
Upvotes: 1
Views: 944
Reputation: 63105
try below
<asp:ImageButton ID="ImageButton1" runat="server" Height="110px"
ImageUrl='<%# Eval("Pic_Path") %>' Width="111px"
onclick="ImageButton1_Click"/>
and change method as
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
var btn = sender as ImageButton;
var url = btn.ImageUrl;
}
Upvotes: 2