Repeater实现删除,禁用和启用

来源:互联网 发布:易碎贴纸淘宝 编辑:程序博客网 时间:2024/05/01 01:15

aspx文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="repeater2.aspx.cs" Inherits="_12._19zuoye.repeater2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
    .big_img img
    {
        border:1px solid #ccc;
        width:100px;
        height:100px;
        }
    .big_img:hover img
    {
        height:200px;
        width:200px;
        display:inline;
        border:1px solid 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" align="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 src='<%#"images/"+Eval("photo")%>' /></a></td>
          <td>
              <asp:LinkButton ID="btnDelete" runat="server" Text="删除" CommandName="delete" CommandArgument='<%#Eval("sid")%>'>删除</asp:LinkButton>
          </td> 

<td>
              <asp:LinkButton ID="shifouyong" runat="server" Text='<%#Convert.ToBoolean( Eval("status"))?"禁用":"启用"%>' CommandName='<%#Convert.ToBoolean( Eval("status"))?"false":"true"%>' CommandArgument='<%#Eval("sid")%>'><%#Convert.ToBoolean( Eval("status"))?"禁用":"启用"%></asp:LinkButton>
          </td>      
          </div>
         </tr>
        </ItemTemplate>
        <FooterTemplate></table></FooterTemplate>

        <AlternatingItemTemplate>
        <tr class="center" align="center" style=" background-color:#e8e8e8;">
          <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 src='images/<%#Eval("photo")%>' /></a></td>
          </div>
          <td>
              <asp:LinkButton ID="btnDelete" runat="server" Text="删除" CommandName="delete" CommandArgument='<%#Eval("sid")%>'>删除</asp:LinkButton>
          </td>

 <td>
              <asp:LinkButton ID="shifouyong" runat="server" Text='<%#Convert.ToBoolean( Eval("status"))?"禁用":"启用"%>' CommandName='<%#Convert.ToBoolean( Eval("status"))?"false":"true"%>' CommandArgument='<%#Eval("sid")%>'><%#Convert.ToBoolean( Eval("status"))?"禁用":"启用"%></asp:LinkButton>
          </td>
         </tr>
        </AlternatingItemTemplate>
        </asp:Repeater>
    </div>
    </form>
</body>
</html>

aspx.cs文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using _12._06zuoye;
using System.Data.SqlClient;

namespace _12._19zuoye
{
    public partial class repeater2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                 BingUsers();
            }
          
        }

        private void BingUsers()
        {
            string sql = "select * from student";
            DataTable dt = SqlHelper.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());
                SqlHelper.ExecuteNoQuery(sql, p1);
                this.BingUsers();

         }

            else if (e.CommandName == "false" || e.CommandName == "true")
            {
                string sql = "update student set status=@status where sid=@sid";
                SqlParameter[] prm = new SqlParameter[]
                {
                    new SqlParameter("@status",e.CommandName),
                    new SqlParameter("@sid",e.CommandArgument.ToString())
                };

                SqlHelper.ExecuteNoQuery(sql, prm);
                this.BingUsers();

            }

         }
    }
}

SqlHelper中代码:

private static readonly string constr = ConfigurationManager.ConnectionStrings["studentConnectionString"].ConnectionString;

 public static DataTable ExecuteDataTable(string sql,CommandType commandtype, params SqlParameter[] pms)
        {
            DataTable dt = new DataTable();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, constr);//得到适配器

            adapter.SelectCommand.CommandType = commandtype;
           
            if (pms != null)
            {
                adapter.SelectCommand.Parameters.AddRange(pms);
            }

            adapter.Fill(dt);
            return dt;
        }

 public static object ExecuteScalar(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection conn = new SqlConnection(constr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;

                    foreach (SqlParameter parameter in pms)
                    {
                        cmd.Parameters.Add(parameter);
                    }

                    return cmd.ExecuteScalar();
                }

            }
        }

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

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

                    con.Open();
                    return cmd.ExecuteNonQuery();


                }
            }
        }

 

原创粉丝点击