http://blog.csdn.net/zhang_xinxiu/article/details/21872433

想起来,公司的aspx页面前台数据展示除了datagrid以为还有Repeater控件,现在温习温习这个控件

1:// 从一个数据项中获得相应的控件
        TextBox txtTitle = (TextBox)e.Item.FindControl("txtTitle");

得记住这样获取值的方式,(控件类型)的转换

2:CheckBox chkInTheaters = (CheckBox)e.Item.FindControl("chkInTheaters");

<asp:Repeater ID="userRepeat" runat="server" OnItemCommand="userRepeat_ItemCommand" OnItemDataBound="userRepeat_ItemDataBound">

标红的是 Repeater控件命令事件
<ItemTemplate>
<tr>
<td><%#Eval("ID") %></td>
<td><%#Eval("Title") %></td>
<td><%#Eval("Cont") %></td>
<td><%#Eval("Keys") %></td>
<td><%#Eval("Des") %></td>
<td><%#Eval("AddTime") %></td>
<td>

<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Del" CommandArgument='<%#Eval("ID") %>'>删除</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Update" CommandArgument='<%#Eval("ID") %>'>修改</asp:LinkButton>

<asp:Label ID="Label1" runat="server" Text='<%#Eval("NewID") %>' Visible="false"></asp:Label>
<asp:LinkButton ID="LinkButton1" runat="server" CssClass="btn btn82 btn_del" CommandName="del" OnClientClick="return confirm('要删除吗?')">删除</asp:LinkButton>
&nbsp; &nbsp; &nbsp; &nbsp;
<asp:Label ID="Label2" runat="server" Text='<%#Eval("NewID") %>' Visible="false"></asp:Label>
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Update" CommandArgument='<%#Eval("NewID")%>'>修改</asp:LinkButton>

前台代码通过设置控件的CommandArgument属性来传递后台所需要判断的id号。

两种不同的颜色相互对应,当点击删除时,获取"Del"的指令  然后获取到要删除数据的ID值

if (e.CommandName == "Del")
{
//string strid = ((Label)e.Item.FindControl("Label1")).Text;
// int Id = Convert.ToInt32(strid);
int id = Convert.ToInt32(e.CommandArgument.ToString());

绑定数据:

  1. /// <summary>
  2. /// 将数据源绑定Repeater控件上
  3. /// </summary>
  4. private void DataBindToRepeater() {
  5. //使用using语句进行数据库连接
  6. using (SqlConnection sqlCon=new SqlConnection("server=.;database=MyBlog;uid=sa;pwd=1"))
  7. {
  8. sqlCon.Open();  //打开数据库连接
  9. SqlCommand sqlcom = new SqlCommand();   //创建数据库命令对象
  10. sqlcom.CommandText = "select * from match"; //为命令对象指定执行语句
  11. sqlcom.Connection = sqlCon; //为命令对象指定连接对象
  12. this.userRepeat.DataSource = sqlcom.ExecuteReader();    //为Repeater对象指定数据源
  13. this.userRepeat.DataBind(); //绑定数据源
  14. }
  15. }
    1. protected void userRepeat_ItemCommand(object source, RepeaterCommandEventArgs e)
    2. {
    3. //获取命令文本,判断发出的命令为何种类型,根据命令类型调用事件
    4. if (e.CommandName=="Edit")  //编辑命令
    5. {
    6. id = int.Parse(e.CommandArgument.ToString());   //获取命令ID号
    7. }
    8. else if (e.CommandName=="Cancel")   //取消更新命令
    9. {
    10. id = -1;
    11. }
    12. else if(e.CommandName=="Delete")    //删除行内容命令
    13. {
    14. id = int.Parse(e.CommandArgument.ToString());   //获取删除行的ID号
    15. //删除选定的行,并重新指定绑定操作
    16. this.DeleteRepeater(id);
    17. }
    18. else if (e.CommandName == "Update") //更新行内容命令
    19. {
    20. //获取更新行的内容和ID号
    21. string strText = ((TextBox)e.Item.FindControl("txtName")).Text.Trim();
    22. int intId=int.Parse(((Label)e.Item.FindControl("lblID")).Text);
    23. //更新Repeater控件的内容
    24. this.UpdateRepeater(strText,intId);
    25. }
    26. //重新绑定控件上的内容
    27. this.DataBindToRepeater();
    28. }
      1. SqlCommand sqlcom = new SqlCommand();   //创建数据库命令对象
      2. sqlcom.CommandText = "update match set name=@str where id=@id"; //为命令对象指定执行语句
      3. sqlcom.Connection = sqlCon; //为命令对象指定连接对象
      4. //创建参数集合,并向sqlcom中添加参数集合
      5. SqlParameter[] sqlParam = { new SqlParameter("@str", strText), new SqlParameter("@id", intId) };
      6. sqlcom.Parameters.AddRange(sqlParam);

转载于:https://www.cnblogs.com/ZkbFighting/p/8409874.html

Repeater控件的相关推荐

  1. Datalist控件,Repeater控件如何分页?

    Asp.net提供了三个功能强大的列表控件:DataGrid.DataList和Repeater控件,但其中只有DataGrid控件提供分页功能.相对DataGrid,DataList和Repeate ...

  2. Repeater控件的分页问题

    作者:zhoubin@mail.sdu.edu.cn 以前做ASP的时间不算短,可是做ASP.NET我是个新手.前几天做项目,遇到一个问题,要求比较复杂的数据格式显示,用DataGrid非常难实现,后 ...

  3. 使用嵌套的Repeater控件显示分级数据

    作者:wincheer  来自:Asp.Net中文专业网 简介 本文描述如何使用嵌套的Repeater 控件来显示分级数据 .当然了,你也可以将这一技术应用到其他的列表绑定控件上去,比如DataGri ...

  4. 改变Repeater控件中按钮颜色

    昨晚有在论坛看到一帖,手上的工作一直忙到现在,Insus.NET现在抽点时间尝试实现它. Insus.NET没有使用数据库作为数据源,而是使用List<T>作为数据源.因此你在这篇博文中学 ...

  5. Repeater控件的使用

    Repeater控件的使用 今天学习了Repeater控件的使用,Repeater控件没有定义样式,要自己编写HTML来定义样式,这样工作量可能会大一些,但它所带来的好处是可以随心所欲地定义自己数据的 ...

  6. onmouseover和onmouseout在Repeater控件中应用

    如果你曾看过这篇,http://www.cnblogs.com/insus/articles/1411057.html ,它是在GridView控件中演示,但是它的方法在Repeater控件是无法复制 ...

  7. 读书笔记:《Aspx开发200问》——如何实现Repeater控件的分页

    由于Repeater控件没有分页相关的属性,要使用System.Web.UI.WebControl中的PageDataSource类. PageDataSource封装了DataGrid控件的分页属性 ...

  8. Repeater控件最后一笔记录高亮显示

    Insus.NET以前有写过 <Repeater控件第前10笔记录高亮显示> 不过,现在有一个想法,就是最后一笔记录高亮显示,怎样实现? 技术要求,就是获取最后一笔的索引即可.可以从数据源 ...

  9. Repeater控件

    Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行.      Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输 ...

  10. asp.net学习之Repeater控件

    Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行.      Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输 ...

最新文章

  1. cordova ios的问题
  2. 个人笔记------注释代码(神兽)
  3. PMCAFF微课堂视频合集 | O2O产品的颠覆与布局
  4. 混合文件下分离xml文件和jpg文件
  5. SQL 通过syscolumns.xtype动态查找指定数据类型字段所包含的数据
  6. Mybatis处理表关联(懒加载)
  7. 华为云的研究成果又双叒叕被MICCAI收录了!
  8. 计算机网络学习笔记(2. 什么是网络协议)
  9. 程门立雪的故事,成语程门立雪的主人公是谁?
  10. 如何批量登陆远程主机和配置【转】
  11. Python - SimpleHTTPServer and CGIHTTPServer
  12. spring-eureka 源码解读----为什么一个服务最多两分钟被其他服务感知
  13. python时间序列库_python Pandas库基础分析之时间序列的处理详解
  14. 基于Spring Boot的简易版新闻管理系统
  15. JAVA通过Jemter工具并发测试
  16. Matlab 心形函数
  17. java 数组 重复数据结构_Java数据结构和算法( 二 ) ## 数组
  18. 计算机上如何查找什么占网速,怎么查看网速被占用(宽带100m但wifi很慢)
  19. Room的基本使用(一)
  20. 使用selenium和chromedriver实现12306抢票

热门文章

  1. php中如何加密,PHP中的加密功能
  2. pwm 正弦波_正弦波逆变器和修正波逆变器的区别
  3. linux tcp 断网重连,LIS接口与串口服务器的KeepAlive的重连机制
  4. Android Realm数据库
  5. primefaces_Primefaces命令按钮
  6. 产品设计的基本原则是什么
  7. Java 的强引用、弱引用、软引用、虚引用
  8. abp 基于api接口的页面内容提交
  9. GetCurrentTime(),GetLocalTime(),GetSystemTime()之间的区别
  10. 《深入理解Android2》读书笔记(五)