2014-01-24 105 views
0

这是我的代码: -OnItemCommand未加载

<asp:DataList runat="server" Width="340px" BorderStyle="None" BorderWidth="2px" RepeatColumns="4" RepeatDirection="Horizontal" ID="dlImages" CellPadding="3" CellSpacing="2" 
    OnItemCommand="dlImages_ItemCommand" > 
     <ItemTemplate> 
      <div style="float:left;"> 
       <asp:ImageButton ID="Image1" CommandName="imgClick" runat="server" CssClass="imgSampleImage" ImageUrl='<%# Container.DataItem %>' /> 
      </div> 
     </ItemTemplate> 
    </asp:DataList> 

protected void dlImages_ItemCommand(object source, DataListCommandEventArgs e) 
{ 
    if (e.CommandName == "imgClick") 
    { 
     //string imgURL = ((Label)e.Item.FindControl("lblImgName")).Text; 
     //Response.Redirect("dailydealsdetail.aspx?imgurl=" + imgURL); 
    } 
} 
在我的网页加载

也提出: -

if (!IsPostBack) 
{ 
    dlImages.DataSource = images; 

    dlImages.DataBind(); 
} 

我试图把断点内dlImages_ItemCommand但没有运气。请帮忙。

+0

侧面说明:您还可以处理'ImageButton'的'Click'事件。试试看,如果有效。你会得到通过'(的DataListItem)((ImageButton的)发件人)的'DataListItem' .NamingContainer;' –

+0

你在这里提供优秀作品的代码。它一定是别的东西。 你可以发布一些更多的代码? AutoEventWireup是否设置为true? 是否在正确的代码隐藏dlImages_ItemCommand? – denniebee

+0

yes autoeventwireup现在是真的 – micky

回答

0

你有没有尝试这样的工作的罚款在我的情况:

<asp:DataList ID="list" runat="server" OnItemCommand="list_ItemCommand" RepeatColumns="7" 
        ShowFooter="true" ShowHeader="true" Width="98%" OnSelectedIndexChanged="list_SelectedIndexChanged"> 
       <ItemTemplate> 
        <div align="center"> 
         <asp:Image ID="img" runat="server" BorderColor="white" BorderWidth="2" Height="100" 
          ImageUrl='<%# "~/Image.aspx?id="+Eval("id") %>' Width="100px" /> 
         <asp:HiddenField ID="hf1" runat="server" Value='<%# Eval("id") %>' /> 
         <br /> 
         <span onclick="return confirm('Are you sure to Remove this Image?')"> 
          <asp:LinkButton ID="linkremove" runat="server" CommandName="Removes" Text="Remove"></asp:LinkButton> 
         </span> 
        </div> 
       </ItemTemplate> 

       </asp:DataList> 

protected void list_ItemCommand(object source, DataListCommandEventArgs e) 
{ 
    try 
    { 
     if (e.CommandName == "Removes") 
     { 
      HiddenField id1 = (HiddenField)list.Items[e.Item.ItemIndex].FindControl("hf1"); 
      if (dbo.deleterecords("image", "id='" + id1.Value + "'") == true) 
      { 

       BindItemsList(); 
       lbldel.Text = "Image Deleted"; 
      } 
     } 
    } 
    catch (Exception ex) 
    { 
     Exception E = ex; 
    } 
}