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

Repeater控件的的更多相关文章

  1. ASP.Net中通过Jquery前端对Repeater控件绑定的数据进行操作

    说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){ ...

  2. Repeater 控件

    Repeater 控件是一个容器控件,可用于从网页的任何可用数据中创建自定义列表.Repeater 控件没有自己内置的呈现功能,这意味着用户必须通过创建模板来提供 Repeater 控件的布局.当网页 ...

  3. WebForm(四)——Repeater控件(重要、好用)

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

  4. Repeater控件用法

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Repeater.aspx. ...

  5. Repeater控件使用中的一些小问题

    网页上用来展示列表的数据,发现还是Repeater比GridView,DetailView之类的要灵活些,所以近期用到了就总结下遇到的一些情况,保留下来以备之后查阅,不用现问度娘了... 自己摸索的, ...

  6. Repeater控件 ---表格展示数据

    简介: Repeater控件是Web 服务器控件中的一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表. Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repea ...

  7. Repeater控件使用(含删除,分页功能)

    Repeater控件使用(含删除,分页功能) 摘自:http://www.cnblogs.com/alanliu/archive/2008/02/25/914779.html 前臺代碼 <%@ ...

  8. asp.net学习之Repeater控件

    asp.net学习之Repeater控件 文章摘自:http://www.cnblogs.com/shipfi/archive/2009/10/19/1585703.html Repeater控件和D ...

  9. Webform(Repeater控件)

    一.Repeater控件 有五大模板 ItemTemplate :有多少条数据,执行多少遍        AlternatingItemTemplate : 对交替数据项进行格式设置       Se ...

  10. [ASP.NET]asp.net Repeater控件的使用方法

    asp.net Repeater控件的使用方法 -- : 4770人阅读 评论() 收藏 举报 asp.netserveraspdatasetdeletexhtml 今天学习了,Repeater控件 ...

随机推荐

  1. jquery on event

    <!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  2. centos7 初始化安装

    CENTOS7 初装 一.分区 挂载路径 格式 容量 / xfs 102400 swap 等同内存大小 /home xfs 剩余 二.时区 Asia/Shanghai 三.安装包选择 选择最小化安装 ...

  3. 记intel杯比赛中各种bug与debug【其五】:朴素贝叶斯分类器的实现和针对性的优化

    咱这个项目最主要的就是这个了 贝叶斯分类器用于做可以统计概率的二元分类 典型的例子就是垃圾邮件过滤 理论基础 对于贝叶斯算法,这里附上两个链接,便于理解: 朴素贝叶斯分类器的应用-阮一峰的网络日志 基 ...

  4. db2部署

    下载地址: wget   ftp://public.dhe.ibm.com/software/hk/cobra/db2exc_970_LNX_x86_64.tar.gz 上传压缩包到/opt,再解压d ...

  5. next.js、nuxt.js等服务端渲染框架构建的项目部署到服务器,并用PM2守护程序

    前端渲染:vue.react等单页面项目应该这样子部署到服务器 貌似从前几年,前后端分离逐渐就开始流行起来,把一些渲染计算的工作抛向前端以便减轻服务端的压力,但为啥现在又开始流行在服务端渲染了呢?如v ...

  6. HDFS 断点续传,写文件功能

    实际上这是个 HDFS 的工具类部分代码. 首先 public static Configuration configuration = null;public static FileSystem f ...

  7. cocos2d-x 学习资源整理(持续更新...)

    生活像一把无情刻刀.改变了我们模样.以前我以为会亘古不变的东西,突然在一瞬间失去了信念... 假设你改变不了生活中患得患失的心情.那就试着让自己变得强大一点.由于能做到不以物喜不以己悲都是建立在强大的 ...

  8. android-继承BaseAdapter--自己定义适配器,getView运行多次的解决方法

    定义的getView运行多次的ListView布局: <ListView android:id="@+id/lv_messages" android:layout_width ...

  9. Linux学习笔记--cp命令(复制)

    cp:英文名copy,复制的意思. 1. 命令格式: cp [选项] 源文件或文件夹 目标文件或文件夹 cp [选项] 源文件1 源文件2 源文件3 ... 目标文件夹 2. 经常使用选项: &quo ...

  10. vue中eventbus的使用

    eventbus的方法很是简单,我们需要做三步事情: 第一步,我们需要创造一个容器去充当我们的eventbus 第二步,我们需要去抛出,或者说提交我们的事件 第三步,我们去监听我们的那个事件(也许这才 ...