C# 如何获取listview的行索引?
我有一个listview,它显示数据库中的图像,代码如下所示C# 如何获取listview的行索引?,c#,asp.net,sql,listview,C#,Asp.net,Sql,Listview,我有一个listview,它显示数据库中的图像,代码如下所示 <ItemTemplate> <td runat="server" style="background-color: #E0FFFF;color: #333333;"> <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# "imageHandler.ashx?I
<ItemTemplate>
<td runat="server" style="background-color: #E0FFFF;color: #333333;">
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl='<%# "imageHandler.ashx?ID=" + Eval("ID")%>' />
</td>
</ItemTemplate>
数据源如下所示
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:GalleryConnectionString %>"
SelectCommand="SELECT [ID], [IMAGE] FROM [Icon]"></asp:SqlDataSource>
现在,我想获取所选图像按钮的行索引,以供进一步示例。我该如何操作?请指导我?在单击
imagebutton
时创建一个事件:
protected void ImageButton1_click(object sender, EventArgs e)
{
ImgaeButton btnSender = (ImageButton)sender;
ListViewItem lvItem = (ListViewItem)btnSender.NamingContainer;
lvItem.DataItemIndex();
lvItem.DisplayIndex();
}
DataItemIndex
获取绑定的数据项的索引
DisplayIndex
获取数据项在列表视图中显示的位置 我已经用这段代码完成了,谢谢所有的stackoverflow(我的老师)
你试过任何代码吗?
protected void abc(object sender, ListViewCommandEventArgs e)
{
// if(e.CommandSource == System.Web.UI.WebControls.ImageButton)
ListViewDataItem dataItem = (ListViewDataItem)e.Item;
//int RowID = Convert.ToInt32(ListView1.DataKeys[dataItem.DisplayIndex].Value);
int DispalyIndex = e.Item.DisplayIndex;
int ItemIndex = e.Item.DataItemIndex;
ImageButton imgbtn = (ImageButton)dataItem.FindControl("ImageButton1");
if (imgbtn != null)
{
string imageurl = imgbtn.ImageUrl;
if (imageurl != null && imageurl != string.Empty)
{
int equalindex = imageurl.IndexOf("=");
int Totallength = (imageurl.TrimEnd()).TrimStart() .Length;
int ImageID = Convert.ToInt32(imageurl.Substring(equalindex + 1, (Totallength -(equalindex+1))));
}
}
}