无法在数据列表中触发删除命令

发布于 2024-11-19 09:56:37 字数 786 浏览 2 评论 0原文

我想触发数据列表控件中的删除命令..但它没有触发..请帮忙..

这是我的代码:

protected void DeleteCommand(object source, DataListCommandEventArgs e)
{
        Label2.Text = "hello";
}

这是我的html代码:

   <asp:DataList ID="DLImages" runat="server" BorderStyle="None" 
         DataKeyField="fId" RepeatColumns="4" 
         RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False" 
         OnDeleteCommand="DeleteCommand" 
         onitemdatabound="DLImages_ItemDataBound">
             <ItemTemplate>
                   <asp:ImageButton ID="IBDelete" runat="server" BorderStyle="None" CommandName="Delete" ImageUrl="~/Dashboard/Images/dldelete.png" />
             </ItemTemplate>
    </asp:DataList>

..

I want to fire the Delete Command in Datalist Control .. but it is not firing .. Help please ..

this is my code :

protected void DeleteCommand(object source, DataListCommandEventArgs e)
{
        Label2.Text = "hello";
}

and This is my html code :

   <asp:DataList ID="DLImages" runat="server" BorderStyle="None" 
         DataKeyField="fId" RepeatColumns="4" 
         RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False" 
         OnDeleteCommand="DeleteCommand" 
         onitemdatabound="DLImages_ItemDataBound">
             <ItemTemplate>
                   <asp:ImageButton ID="IBDelete" runat="server" BorderStyle="None" CommandName="Delete" ImageUrl="~/Dashboard/Images/dldelete.png" />
             </ItemTemplate>
    </asp:DataList>

..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无妨# 2024-11-26 09:56:37

你的代码对我来说看起来没问题。它应该触发DeleteCommand

但问题是,我确信您在 page_load 事件 中绑定了数据列表,但不是在 If(!IsPostBack) 条件下绑定。 当您点击“删除”按钮时会发生什么您的 page_load 事件在您的 DeleteCommand 之前触发,它会重新绑定 DataList 并且您的事件丢失

您的 page_load 事件代码应该如下所示...

If(!IsPostBack) 
{
  DataList binding code goes here......
  ...........................
}

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
    // Bind the DataList here....
}

Your code looks like OK to me. It should fire the DeleteCommand.

But the problem is that I am sure you are binding the Datalist in your page_load event, but not under If(!IsPostBack) condition. What happens when you hit Delete button is your page_load event fires before your DeleteCommand and it rebinds the DataList and your event is lost

Your page_load event code should look like...

If(!IsPostBack) 
{
  DataList binding code goes here......
  ...........................
}

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
    // Bind the DataList here....
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文