《ASP.NET1200例》ASP.Net 之Datalist数据删除(支持批量)

.aspx

<div>
        <asp:DataList ID="DataList1" runat="server" Width="355px" 
            onitemcommand="DataList1_ItemCommand" DataKeyField="id"> 
            <HeaderTemplate>
                <asp:CheckBox ID="CheckBox2" runat="server" />
                <asp:Label ID="Label3" Width="70px" runat="server" Text="ID"></asp:Label>
                <asp:Label ID="Label4" Width="170px" runat="server" Text="imageUrl"></asp:Label>
                <asp:Label ID="Label5"  runat="server" Text="handle"></asp:Label>
            </HeaderTemplate>
            <ItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" />
                <asp:Label ID="Label1" Width="70px" runat="server" Text='<%# Eval( "id") %>'></asp:Label>
                <asp:Label ID="Label2" Width="170px" runat="server" Text='<%# Eval("imageUrl") %>'></asp:Label>
                <asp:Button ID="Button1" runat="server" CommandName="singleDelete" Text="delete" />
            </ItemTemplate>
             <FooterTemplate>
                <asp:Button ID="Button2" runat="server"  CommandName="mutlDelete" Text="delete" />
            </FooterTemplate>
        </asp:DataList>
    </div>

 

.aspx.cs

 public partial class _234DeleteData : System.Web.UI.Page
    {
        ShowImageBll showImageBll = new BLL.ShowImageBll();
       
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindDataList();
            }
        }

        private void BindDataList()
        {
            DataSet ds = showImageBll.GetList();
            DataList1.DataSource = ds;
            DataList1.DataBind();
        }
        protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
          switch (e.CommandName)
            {
                case "singleDelete":
                    int id = int.Parse(DataList1.DataKeys[e.Item.ItemIndex].ToString());
                    if (showImageBll.GetList()!=null)
                    {
                        showImageBll.DeleteSingleList(id);
                        Response.Write("<script>alert('删除成功!')</script>");
                        BindDataList();//重新绑定数据库
                    }
                    else 
                    {
                        showImageBll.DeleteSingleList(id);
                        Response.Write("<script>alert('删除失败!')</script>");
                    }
                    break;
                case "mutlDelete":

                    DataListItemCollection dlic = DataList1.Items;//创建一个DataList列表项集合对象
                    for (int i = 0; i < dlic.Count; i++)
                    {
                        if (dlic[i].ItemType == ListItemType.AlternatingItem || dlic[i].ItemType == ListItemType.Item)
                        {
                              CheckBox cb=(CheckBox)dlic[i].FindControl("CheckBox1");
                              if (cb.Checked)
                              {
                                  int id1 = int.Parse(DataList1.DataKeys[dlic[i].ItemIndex].ToString());
                                  showImageBll.DeleteSingleList(id1);      
                              }
                        }
                    }
                    BindDataList();//重新绑定数据库
                    break;
                    
          
          }

        }
    }

总结:

【1】数据源读取Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' 可简化为  Text='<%# Eval( "id") %>'

【2】int id = int.Parse(DataList1.DataKeys[e.Item.ItemIndex].ToString());//读取当前列的key值
【3】 DataListItemCollection dlic = DataList1.Items;//创建一个DataList列表项集合对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值