在ASP.NET高级中运用repeater控件来实现禁用与启用。

来源:互联网 发布:ios 数组按长度切割 编辑:程序博客网 时间:2024/04/29 03:19

1、前台设计:
<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="LinkButton1" 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>
        </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></div>
       
       
         <td>
            <asp:LinkButton ID="LinkButton1" 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>


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();
        }

      
          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())
                };
                SqlHealper1.ExecuteNonQuery(sql, prm);
                this.BindStudent();
            }
        }