<asp:Repeater  id="rpImage"  runat="server">  
  <HeaderTemplate>  
      <TABLE  id="photo"  cellSpacing="1"  cellPadding="1"  width="300"  border="1">  
  </HeaderTemplate>  
  <ItemTemplate>  
           <TR>  
       <TD><FONT  face="宋体">  
                       <asp:HyperLink  NavigateUrl='<%#  picpath+  String.Format("{0}",  DataBinder.Eval(Container.DataItem,  "photo"))%>'  Runat="Server"  ID="Hyperlink1">  
                                                                                                                                   <asp:Image  Width="100"  ImageUrl='<%#  picpath  +  DataBinder.Eval(Container.DataItem,  "photo")%>  '  Runat="Server"  ID="Image1"/>  
                                                                                                           </asp:HyperLink>  
                       </FONT>  
       </TD>  
              <td>  
                                                                                                                       <asp:ImageButton  id="btnDelete"  runat="server"  ImageUrl="images/Delete.gif"  CommandName="delete" ToolTip="删除"></asp:ImageButton></td>  
                                                                                                                       </TR>  
                                                                                                                       </ItemTemplate>  
                                                                                                                       <FooterTemplate>  
            </TABLE>  
           </FooterTemplate>  
 </asp:Repeater>  
========================  
private  void  rpImage_ItemCommand(object  source,     System.Web.UI.WebControls.RepeaterCommandEventArgs  e)  
  {  
         string  picpath=(string)DataBinder.Eval(e.Item.DataItem,  "photo");//这里取不到值,该如何取得我要删除记录的“photo”字段的值?  
   }

解决方案 »

  1.   

    应该使用:e.Item.DataItem,这个对象是DataRowView类型。不过我这样用过是不可以的。你可以这样:e.Item.FindControl来查找你绑定了photo字段的控件然后获得内容再进行处理。
      

  2.   

    可以在绑定时指出datakeyfiled,然后在itemcommand获得e.item.itemindex
    然后从datakeys[e.item.itemindex]获取主键值,然后从数据库中删除
      

  3.   

    to:tavor(龙双公子) repeater没有datakeyfiled属性啊to:triout(笨牛) 
    是这样吗?
    System.Drawing.Image image1=(ImageButton)e.Item.FindControl("btnDelete");
    然后怎么取绑定在image1的字段值?
      

  4.   

    是这样吗?
    System.Drawing.Image image1=(ImageButton)e.Item.FindControl("Image1");
    然后怎么取绑定在image1的字段值?