2013-12-10 3 views
1

У меня есть список, показывающий изображения из базы данных, код выглядит так.Как получить индекс строки списка?

<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> 

Теперь я хочу, чтобы получить индекс строки кнопки выбранного изображения для дальнейшего, например, как я делаю это любезно наставит меня?

+0

любой код, вы пробовали? –

ответ

1

сделать событие для того, когда imagebutton это нажать:

protected void ImageButton1_click(object sender, EventArgs e) 
{ 
    ImgaeButton btnSender = (ImageButton)sender; 
    ListViewItem lvItem = (ListViewItem)btnSender.NamingContainer; 
    lvItem.DataItemIndex(); 
    lvItem.DisplayIndex(); 
} 

DataItemIndex получает индекс элемента данных, который был связан.

DisplayIndex получает позицию элемента данных, отображаемую в ListView.

1

я сделал это с помощью этого кода, благодаря все из 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)))); 
      } 

     } 
    } 
Смежные вопросы