ASP.NET高级里面的repeater控件的应用实现样式设置,并添加删除按钮

本文介绍了如何在ASP.NET中使用repeater控件进行样式设置,包括图片展示和表格布局。同时,文章详细展示了如何为repeater添加删除按钮功能,通过后台处理Command事件来实现实时删除数据并重新绑定数据到控件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、前台设计:

<head runat="server">
    <title></title>
    <style type="text/css">
    .center
    {text-align:center;
        }
     .big_img img
     {
        border:1px solid #ccc;
        width:100px;
        height:100px;
         }
      .big_img:hover img
      { height:200px;
        width:200px;
        display:inline;
        border:1px soid navy;
          }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        <asp:Repeater ID="Repeater1" runat="server"
            onitemcommand="Repeater1_ItemCommand">
        <HeaderTemplate><table border="" width="100%"><tr><th>姓名</th><th>性别</th><th>年龄</th><th>照片</th><th>操作</th></tr></HeaderTemplate>
        <ItemTemplate>
        <tr class="center">
        <td><%#Eval("sname") %></td><td><%#Eval("sex") %></td><td><%#Eval("age") %></td>
        <div style="display:inline;position:relative;">
        <td><a href="#" class="big_img"><img alt="" src='<%#Eval("photo") %>'/></a></td>
        </div>
        <td>
            <asp:LinkButton ID="btnDelete" runat="server" Text="删除" CommandName="delete" CommandArgument='<%#Eval("sid") %>'>删除</asp:LinkButton></td></tr>
        </ItemTemplate>
        <FooterTemplate></table></FooterTemplate>
        <AlternatingItemTemplate>
        <tr bgcolor="#e8e8e8" class="center">
        <td><%#Eval("sname") %></td><td><%#Eval("sex") %></td><td><%#Eval("age") %></td>
        <div style="display:inline;position:relative;">
        <td><a href="#" class="big_img"><img alt="" src='<%#Eval("photo") %>'/></a></td>
        <td>
            <asp:LinkButton ID="btnDelete" runat="server" Text="删除" CommandName="delete" CommandArgument='<%#Eval("sid") %>'>删除</asp:LinkButton></td>
        </div></tr>
        </AlternatingItemTemplate>
        </asp:Repeater>
   
    </div>
    </form>
</body>

 

 

 

2、后台设计:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindStudent();        
            }

        }

        private void BindStudent()
        {
            string sql = "select * from student";
            DataTable dt = SqlHealper1.ExecuteDataTable(sql, CommandType.Text);
            this.Repeater1.DataSource = dt;
            this.Repeater1.DataBind();
        }

        protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "delete")
            {
                string sql = "delete from student where sid=@sid";
                SqlParameter p1 = new SqlParameter("@sid", e.CommandArgument.ToString());
                SqlHealper1.ExecuteNonQuery(sql, p1);
                this.BindStudent();
            }
        }

 

 

3、SqlHeper的设计:

 public static class SqlHealper1
    {
        private static readonly string constr1 = ConfigurationManager.ConnectionStrings["studentConnectionString"].ConnectionString;
        #region ExecuteNonQuery 执行insert delete update的方法

        public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection con = new SqlConnection(constr1))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {

                    if (pms != null)//说明还传了参数
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    con.Open();
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        #endregion

        public static object ExecuteScalar(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection con = new SqlConnection(constr1))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {

                    if (pms != null)//说明还传了参数
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    con.Open();
                    return cmd.ExecuteScalar();
                }
            }
        }

        public static object ExecuteReader(string sql, params SqlParameter[] pms)//返回的参数,params是可能没有这个参数,SqlParameter[]数组的参数
        {
            SqlConnection con = new SqlConnection(constr1);

            using (SqlCommand cmd = new SqlCommand(sql, con))
            {

                if (pms != null)//说明还传了参数
                {
                    cmd.Parameters.AddRange(pms);
                }
                con.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                return reader;

            }
        }

        public static DataTable ExecuteDataTable(string sql,CommandType commandtype, params SqlParameter[] pms)//返回的参数,params是可能没有这个参数,SqlParameter[]数组的参数
        {
            DataTable dt = new DataTable();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, constr1);
            adapter.SelectCommand.CommandType = commandtype;
            if (pms != null)
            {
                adapter.SelectCommand.Parameters.AddRange(pms);//添加参数的方法
            }
            adapter.Fill(dt);
            return dt;

        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值