repeater实现样式设置,并添加删除按钮,参考课上老师做的案例。数据表添加字段status,使用repeater实现禁用与启用。repeater添加编辑按钮,和Edit.aspx页面。

来源:互联网 发布:轮胎数据怎么看 编辑:程序博客网 时间:2024/05/01 15:01

************************Demo2.aspx

<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
    {
      width:200px;
      height :200px;
      display :inherit ;
      border :  1px solid navy;
       
    }
   
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        <asp:Repeater ID="Repeater1" runat="server"
            Xonitemcommand="Repeater1_ItemCommand">
        <HeaderTemplate >
        <table border ="1" width ="100%">
       <tr><th>姓名</th><th>性别</th><th>年龄</th><th>照片</th><th>操作</th></tr>
        </HeaderTemplate>
        <ItemTemplate >
        <tr  bgcolor="#e8e8e8" class ="center">
        <td><%#Eval("sname") %></td>
        <td><%#Eval("sex") %></td>
        <td><%#Eval("age") %></td>
        <div style ="display:inherit;position:relative ">
        <td><a  href ="#" class ="big_img"><img src ='<%#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="LinkButton2" runat="server" Text="编辑" CommandName="edit" CommandArgument='<%#Eval("sid") %>'>编辑</asp:LinkButton>
</td>
        <td>
            <asp:LinkButton ID="LinkButton1" CommandName='<%#Convert.ToBoolean(Eval("status"))?"false":"true" %> ' CommandArgument='<%#Eval("sid") %>' runat="server" Text='<%#Convert.ToBoolean(Eval("status"))?"禁用":"启用" %> ' ><%#Convert.ToBoolean(Eval("status"))?"禁用":"启用" %> </asp:LinkButton></td>
        </tr>
       
        </ItemTemplate>
        <FooterTemplate >  </FooterTemplate>
       <AlternatingItemTemplate >
      <tr  bgcolor="#e8e8e8" class ="center">
        <td><%#Eval("sname") %></td>
        <td><%#Eval("sex") %></td>
        <td><%#Eval("age") %></td>
        <div style ="display:inherit;position:relative ">
        <td><a  href ="#" class ="big_img"><img src ='<%#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="LinkButton2" runat="server" Text="编辑" CommandName="edit" CommandArgument='<%#Eval("sid") %>'>编辑</asp:LinkButton>
</td>
        <td>
            <asp:LinkButton ID="LinkButton1" CommandName='<%#Convert.ToBoolean(Eval("status"))?"false":"true" %> ' CommandArgument='<%#Eval("sid") %>' runat="server" Text='<%#Convert.ToBoolean(Eval("status"))?"禁用":"启用" %> ' ><%#Convert.ToBoolean(Eval("status"))?"禁用":"启用" %> </asp:LinkButton></td>
        </tr>
       
       </AlternatingItemTemplate>
        </asp:Repeater>
   
    </div>
    </form>
</body>

***********Demo2.aspx.cs

public partial class Demo2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            BindUsers();
        }

        private void BindUsers()
        {
            string sql = "select * from student";
            DataTable dt = sqlhelp.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 pm = new SqlParameter("@sid",e.CommandArgument .ToString ());
                sqlhelp.ExcuteNonQuery(sql, pm);
                this.BindUsers();
            }
            else if (e.CommandName == "false" || e.CommandName == "true")
            {
                string sql = "update student set status=@status where sid=@sid";
                SqlParameter[] pms = new SqlParameter[]
                {
                    new SqlParameter ("@status",e.CommandName ),
                    new SqlParameter ("@sid",e.CommandArgument .ToString ())
               
                };
                sqlhelp.ExcuteNonQuery(sql, pms);
                this.BindUsers();


            }
            else if(e.CommandName =="edit")
            {
                Server.Transfer("edit.aspx?sid="+e.CommandArgument.ToString ());
           
            }
           
        }
    }

***********************edit.aspx

<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListView ID="ListView1" runat="server"
            Xonitemcommand="ListView1_ItemCommand"
            Xonselectedindexchanged="ListView1_SelectedIndexChanged">
          <ItemTemplate>
          <table border ="1">
           <tr><td>姓名:&nbsp<asp:TextBox ID="TextBox1"  runat="server" Text ='<%#Eval("sname") %>'></asp:TextBox></td></tr>
           <tr><td>性别:&nbsp<asp:TextBox ID="TextBox2" runat="server" Text ='<%#Eval("sex") %>'></asp:TextBox></td></tr>
           <tr><td>年龄:&nbsp<asp:TextBox ID="TextBox3" runat="server" Text ='<%#Eval("age") %>'></asp:TextBox></td></tr>
           <tr><td>照片:&nbsp<asp:TextBox ID="TextBox4" runat="server" Text ='<%#Eval("photo") %>'></asp:TextBox></td></tr>
           </table>
            <asp:Button ID="updjk" runat="server" Text="更新" CommandName ="upde" CommandArgument="sid" />

          </ItemTemplate>
        </asp:ListView>
   
    </div>
    </form>
</body>

***********************edit.aspx.cs

public partial class edit : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack )
            {
          int id=  Convert.ToInt32(Request["sid"]);
          string sql = "select * from student where sid=@sid" ;
          SqlParameter ps = new SqlParameter("@sid",id);
          DataTable dt = sqlhelp.Executedatatable(sql, CommandType.Text,ps);
          this.ListView1.DataSource = dt;
          this.ListView1.DataBind();
            }
        }

        protected void ListView1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            string name= (e.Item .FindControl ("TextBox1")as TextBox).Text ;
            string sex= (e.Item .FindControl ("TextBox2")as TextBox).Text ;
            string age= (e.Item .FindControl ("TextBox3")as TextBox).Text ;
            string photo= (e.Item .FindControl ("TextBox4")as TextBox).Text ;
            string sid=  Request["sid"].ToString();
        if(e.CommandName =="upde")
            {
                sqlhelp.ExcuteNonQuery("update student set sname=@sname,age=@age,sex=@sex,photo=@photo where sid=@sid",new SqlParameter ("@sname",name),new SqlParameter ("@age",age),new SqlParameter ("@sex",sex),new SqlParameter ("@photo",photo ),new SqlParameter ("@sid",sid));
           
            }
           
        }
    }

原创粉丝点击