repeater简单操作

1.repeater实现样式设置,并添加删除按钮,参考课上老师做的案例。
 
2.数据表添加字段status,使用repeater实现禁用与启用。
 
3.repeater添加编辑按钮,和Edit.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
 {
 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"
Xonitemcommand="Repeater1_ItemCommand">
 <HeaderTemplate>
 <table border="0" 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 class="big_img"><a href="#"><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="btnEdit" runat="server" Text="编辑" CommandName="edit" CommandArgument='<%#Eval("sid") %>'>编辑</asp:LinkButton>
 </td>
 <td>
 <asp:LinkButton ID="btnStatus" 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 class="big_img"><a href="#"><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="btnEdit" runat="server" Text="编辑" CommandName="edit" CommandArgument='<%#Eval("sid") %>'>编辑</asp:LinkButton>
 </td>
 <td>
 <asp:LinkButton ID="btnStatus" 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>
 
--------------------------后台:----------------------------------------
 
protected void Page_Load(object sender, EventArgs e)
 {
 if (!IsPostBack)
 {
 BindUsers();
 }
 }
 
private void BindUsers()
 {
 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());
 int r=SQLHelper.ExecuteNonQuery(sql, p1);
 
if (r > 0)
 {
 Response.Write("<script>alert('删除成功!')</script>");
 }
 else
 {
 Response.Write("<script>alert('删除失败!')</script>");
 }
 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())
 };
 SQLHelper.ExecuteNonQuery(sql, pms);
 this.BindUsers();
 }
 else if (e.CommandName == "edit")
 {
 Server.Transfer("EditRepeater.aspx?sid=" + e.CommandArgument.ToString());
 }
 }
 

------------------- EditRepeater前台:----根据传来的的id编辑记录---更新按钮--取消按钮----------------------------------------------------------
 
<body>
 <form id="form1" runat="server">
 <div>
 <asp:ListView ID="ListView1" runat="server"
Xonitemcommand="ListView1_ItemCommand" Xonitemupdating="ListView1_ItemUpdating">
 
<ItemTemplate>
 <table border="0" width="100%"><tr><th>姓名</th><th>性别</th><th>年龄</th><th>照片</th><th>操作</th></tr>
 <tr style="text-align:center;">
 <td>姓名:<asp:TextBox ID="txtName" Text='<%#Eval("sname") %>' runat="server"></asp:TextBox></td>
 <td>性别:<asp:TextBox ID="txtSex" Text='<%#Eval("sex") %>' runat="server"></asp:TextBox></td>
 <td>年龄:<asp:TextBox ID="txtAge" Text='<%#Eval("age") %>' runat="server"></asp:TextBox></td>
 <div style="display: inline; position: relative;">
 <td class="big_img">照片:
 <asp:TextBox ID="txtPhoto" Text='<%#Eval("photo") %>' runat="server"></asp:TextBox></td>
 </div>
 <td>
 <asp:LinkButton ID="btnUpdate" runat="server" Text="更新" CommandName="update" CommandArgument='<%#Eval("sid") %>'>更新</asp:LinkButton>
 </td>
 <td>
 <asp:LinkButton ID="btnCancel" runat="server" Text="取消" CommandName="cancel" CommandArgument='<%#Eval("sid") %>'>取消</asp:LinkButton>
 </td>
 </table>
 </tr>
 </ItemTemplate>
 

</asp:ListView>
 </div>
 </form>
</body>
 
--------------------EditRepeater后台:----------------------------
 
protected void Page_Load(object sender, EventArgs e)
 {
 if (!IsPostBack)
 {
 BindStudent();
 }
 }
 
private void BindStudent()
 {
 int id = Convert.ToInt32(Request["sid"]);
 string sql = "select * from student where
sid=@sid";
 SqlParameter p1 = new SqlParameter("@sid", id);
 DataTable dt = SQLHelper.ExecuteDataTable(sql, CommandType.Text, p1);
 
this.ListView1.DataSource = dt;
 this.ListView1.DataBind();
 }
 
protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
 {
 if (e.CommandName == "update")
 {
 string sname = (e.Item.FindControl("txtName") as TextBox).Text;
 string sex = (e.Item.FindControl("txtSex") as TextBox).Text;
 string age = (e.Item.FindControl("txtAge") as TextBox).Text;
 string photo = (e.Item.FindControl("txtPhoto") as TextBox).Text;
 
string sql = "update student set
sname=@sname,sex=@sex,age=@age,photo=@photo where sid=@sid";
 SqlParameter[] pms = new SqlParameter[] {
new SqlParameter("@sname",sname),
 new SqlParameter("@sex",sex),
 new SqlParameter("@age",age),
 new SqlParameter("@photo",photo),
 new SqlParameter("@sid",e.CommandArgument.ToString())
 };
 int r = SQLHelper.ExecuteNonQuery(sql, pms);
 if (r > 0)
 {
 Response.Write("<script>alert('更新成功!')</script>");
 }
 else
 {
 Response.Write("<script>alert('更新失败!')</script>");
 }
 BindStudent();
 }
 else if (e.CommandName == "cancel")
 {
 Server.Transfer("Demo1.aspx");
 }
 }
 

-------------Web.config:----------------------------------
 
<connectionStrings>
 <add name="studentConnectionString" connectionString="Data Source=PC_THINK-THINK;Initial Catalog=student;Persist Security Info=True;User ID=sa;Password=111111"
 providerName="System.Data.SqlClient" />
 </connectionStrings>
 
-----------------SQLHelper-----------------------------
 
public static String connStr = ConfigurationManager.ConnectionStrings["studentConnectionString"].ConnectionString;
 public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
 {
 using (SqlConnection con = new SqlConnection(connStr))
 {
 using (SqlCommand cmd = new SqlCommand(sql, con))
 {
 if (pms != null)
 {
 cmd.Parameters.AddRange(pms);
 }
 con.Open();
 return cmd.ExecuteNonQuery();
 }
 }
 }
 
public static DataTable ExecuteDataTable(string sql,CommandType commandtype, params SqlParameter[] pms)
 {
 DataTable dt = new DataTable();
 SqlDataAdapter adapter = new SqlDataAdapter(sql,connStr);
 adapter.SelectCommand.CommandType = commandtype;
 if (pms != null)
 {
 adapter.SelectCommand.Parameters.AddRange(pms);
 }
 adapter.Fill(dt);
 return dt;
 }
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值