2014-01-24 1 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

Side-примечание: вы можете также обращаться в '' ImageButton' в Click'-событие. Попробуйте, если это сработает. Вы получите 'DataListItem' через' (DataListItem) ((ImageButton) отправитель) .NamingContainer; ' –

+0

Код, который вы предоставили, отлично работает здесь. Это должно быть что-то еще. Не могли бы вы выслать еще какой-нибудь код? Установлен ли параметр AutoEventWireup равным true? Является ли dlImages_ItemCommand правильным кодом? – denniebee

+0

yes autoeventwireup is true now – 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; 
    } 
}