ascx前台代码:
<asp:DataList ID="dlMyGift" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal" DataKeyField="id">
<ItemTemplate>
<tr>
<td style="border: solid #999999 1px;text-align:center;"><asp:Label ID="lblGiftName" runat="server" Text='<% #Eval("myGift.imgTitle")%>'></asp:Label></td>
<td style="border: solid #999999 1px;text-align:center;"><asp:Label ID="lblGiftNum" runat="server" Text='<% #Eval("giftNum")%>'></asp:Label></td>
<td style="border: solid #999999 1px;text-align:center;">
<asp:LinkButton ID="lbSend" runat="server" Text="赠送" OnClick="lbsenda_Click"></asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:DataList>
ascx后台代码
    public void lbSend_Command(object sender,CommandEventArgs e)
    {
        Page.RegisterStartupScript("", "<script>alert('赠送失败');</script>");
    }
现在的问题是点击linkbutton(赠送)直接不触发oncommand事件,我写了onclick事件也没作用...请大家指点下哪里出了问题.

解决方案 »

  1.   

    发错了 
        public void lbsenda_Click(object sender,EventArgs e)
        {
            Page.RegisterStartupScript("", "<script>alert('赠送失败');</script>");
        } 
    这个是click事件....
      

  2.   

    点击 linkbutton赠送的时候直接不从后台代码走..页面刷新了一下..
      

  3.   

    可能是时间丢失,在PageLoad时加载一下.
      

  4.   

    我刚才试了下 放在datalist外面控件的事件起作用,放到datalist里面的控件的事件就不起作用了..高手给指点下啊 到底是什么问题啊...
      

  5.   

    DataList 下的button能走click吗?
      

  6.   

    不走啊...datalist下的控件的事件都失效了.不知道怎么搞的
      

  7.   

    把代码拿出来放到一个aspx中就好了 郁闷...
      

  8.   

    在datalist里加一个OnCommand事件,linkbutton设置commandName和commandArgument(如果需要参数)
      

  9.   

    按钮的ONCLICK事件 已经被 父控件 接管了
    所以 这个按钮 按下  触发的是DataLis的事件
      

  10.   

    哥哥  你这个是在datalist里的  怎么可能这样触发了  你去datalist的一个OnCommand事件里加吧
    private void datalist1_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e) 你去找到你那个datalist找到itemcommand事件  然后在事件里  if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    LinkButton lbSend=(LinkButton)e.Item.FindControl("lbSend"");
    lbSend.Attributes.Add("onclick","alert('删除失败')");
    }
    或者你在你的<asp:LinkButton  CommandName="Del" ID="lbSend" runat="server" Text="赠送"> </asp:LinkButton>  然后也是在你的itemcommand时间里判断
      

  11.   

    查看一下aspx编译后的源代码,是不是存在多个form,我以前就遇到过,一个页面有二个form,ascx中的点击就会失效
      

  12.   

    模板里控件的事件不是这样触发的。加个CommandName属性,然后在OnCommand事件里处理吧。
      

  13.   

    问题解决了  调用自定义控件的时候有个 好像是( enableviewstate )设置成true就ok了 谢谢大家 帮忙