zoukankan      html  css  js  c++  java
  • 《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列表项集合对象

  • 相关阅读:
    no route to host
    修改文件失败,提示E509: 无法创建备份文件 (请加 ! 强制执行)
    OAuth2.0的四种授权模式
    Django--JWT认证
    Django--数据库ORM操作
    DRF中限流、过滤、排序、分页
    Django框架中序列化与反序列化与字段验证
    21.Django三种风格的模型继承
    20.第三方微博登录Django+Vue
    博客园图片点击放大功能
  • 原文地址:https://www.cnblogs.com/abc8023/p/3450025.html
Copyright © 2011-2022 走看看