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

 Repeater支持以下5种模板      

● ItemTemplate : 对每一个数据项进行格式设置 【Formats each item from the data source.】      
● AlternatingItemTemplate : 对交替数据项进行格式设置      
● SeparatorTemplate : 对分隔符进行格式设置      
● HeaderTemplate : 对页眉进行格式设置 ,在加载开始执行一遍    
● FooterTemplate : 对页脚进行格式设置,在加载最后执行一遍     
以上,英文中使用了Formats item from datasource这样的话,就说明Repeater控件主要是用来对数据进行Format的,控制数据怎么样排列,怎么样显示。      
Repeater必须使用的是Itemtemplate,其它的类型模板按需添加。

例:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="main.aspx.cs" Inherits="main" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style>
* {
margin: 0px;
padding: 0px;
} .tb1 {
width: %;
} .trh {
background-color: blue;
color: white;
text-align: center;
height: 50px;
} .trb {
text-align: center;
height: 30px;
} .trb:hover {
background-color: #;
} .trb1 {
text-align: center;
height: 30px;
background-color: #ffd800;
} .trb1:hover {
background-color: #;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table class="tb1">
<tr class="trh">
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
<td>班级</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="trb">
<td><%#Eval("UserName") %></td>
<td><%#Eval("Pass") %></td>
<td><%#Eval("NickName") %></td>
<td><img height='' src="<%#Eval("seximage") %>" /></td>
<td><%#Eval("Birthday","{0:yyyy年MM月dd日}") %></td>
<td style="<%#Eval("red")%>"><%#Eval("NationName") %></td>
<td><%#Eval("ClassName") %></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr class="trb1">
<td><%#Eval("UserName") %></td>
<td><%#Eval("PassWord") %></td>
<td><%#Eval("NickName") %></td>
<td>
<img height='' src="<%#Eval("seximage") %>" /></td>
<td><%#Eval("Birthday","{0:yyyy年MM月dd日}") %></td>
<td style="<%#Eval("red")%>"><%#Eval("NationName") %></td>
<td><%#Eval("ClassName") %></td>
</tr> </AlternatingItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class main : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Repeater1.DataSource = new UsersData().select();
Repeater1.DataBind();
}
}

后台

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; /// <summary>
/// Nation 的摘要说明
/// </summary>
public class Nation
{
public Nation()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public string Code { get; set; }
public string Name { get; set; }
}

Nation

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web; /// <summary>
/// NationData 的摘要说明
/// </summary>
public class NationData
{
SqlConnection conn = null;
SqlCommand cmd = null;
public NationData()
{
conn = new SqlConnection("server=.;database=Data0928;user=sa;pwd=123");
cmd = conn.CreateCommand();
}
public List<Nation> Select()
{
List<Nation> list = new List<Nation>();
cmd.CommandText = "select *from Nation"; conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Nation n = new Nation();
n.Code = dr[].ToString();
n.Name = dr[].ToString(); list.Add(n);
}
}
conn.Close();
return list;
}
public List<Nation> select()
{
List<Nation> list = new List<Nation>();
cmd.CommandText = "select *from Class"; conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Nation n = new Nation();
n.Code = dr[].ToString();
n.Name = dr[].ToString(); list.Add(n);
}
}
conn.Close();
return list;
}
}

NationData

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web; /// <summary>
/// Users 的摘要说明
/// </summary>
public class Users
{
SqlConnection conn = null;
SqlCommand cmd = null; public Users()
{
conn = new SqlConnection("server=.;database=Data0928;user=sa;pwd=123");
cmd = conn.CreateCommand();
}
private string _UserName;
/// <summary>
/// 账号
/// </summary>
public string UserName
{
get { return _UserName; }
set { _UserName = value; }
}
private string _Password;
/// <summary>
/// 密码
/// </summary>
public string Password
{
get { return _Password; }
set { _Password = value; }
}
public string Pass
{
get
{
string p = "";
if (Password == "")
p = "******";
return p;
}
}
public string Nickname { get; set;}
public bool Sex { get; set; }
public string seximage
{
get
{
string src = "";
if (Sex)
src = "showsm.png";
else
src = "showsw.png"; return src;
}
}
public DateTime Birthday{get;set;}
public string Nation { get; set; }
public string red
{
get
{
string yellow = "";
if (NationName == "满族")
yellow = "background-color:red;";
return yellow;
}
}
public string Class { get; set;}
public string ClassName
{
get
{
string end = "<无班级>"; cmd.CommandText = "select *from Class where ClassCode = @a";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a", Class);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
end = dr["ClassName"].ToString();
}
conn.Close();
return end;
}
}
public string NationName
{
get
{
string end = "<未填>";
cmd.CommandText = "select *from Nation where NationCode = @a";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a", Nation);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
end = dr["NationName"].ToString();
}
conn.Close(); return end;
}
}
}

Users

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web; /// <summary>
/// UsersData 的摘要说明
/// </summary>
public class UsersData
{
SqlConnection conn = null;
SqlCommand cmd = null;
public UsersData()
{
conn = new SqlConnection("server=.;database=Data0928;user=sa;pwd=123");
cmd = conn.CreateCommand();
}
/// <summary>
/// 用户验证
/// </summary>
/// <param name="uname">用户名验证</param>
/// <param name="pwd">密码验证</param>
/// <returns></returns>
public bool Select(string uname, string pwd)
{
bool yanzheng = false;
cmd.CommandText = "select * from Users where UserName=@a and PassWord=@b";
cmd.Parameters.Clear();
cmd.Parameters.Add("@a", uname);
cmd.Parameters.Add("@b", pwd);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
yanzheng = true;
}
conn.Close();
return yanzheng;
}
/// <summary>
/// 添加
/// </summary>
/// <param name="u"></param>
/// <returns></returns>
public bool insert(Users u)
{
bool ok = false; cmd.CommandText = "insert into Users values(@a,@b,@c,@d,@e,@f,@g)";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a", u.UserName);
cmd.Parameters.AddWithValue("@b", u.Password);
cmd.Parameters.AddWithValue("@c", u.Nickname);
cmd.Parameters.AddWithValue("@d", u.Sex);
cmd.Parameters.AddWithValue("@e", u.Birthday);
cmd.Parameters.AddWithValue("@f", u.Nation);
cmd.Parameters.AddWithValue("@g", u.Class);
conn.Open();
try
{
cmd.ExecuteNonQuery();
ok = true;
}
catch
{ }
conn.Close();
return ok;
}
/// <summary>
/// 查询是否有此用户
/// </summary>
/// <param name="username"></param>
/// <returns></returns>
public bool bselect(string username)
{
bool has = false;
cmd.CommandText = "select *from Users where UserName = @a";
cmd.Parameters.Clear();
cmd.Parameters.Add("@a", username); conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
has = true; conn.Close();
return has;
}
/// <summary>
/// 查询所有信息
/// </summary>
/// <returns></returns>
public List<Users> select()
{
List<Users> flist = new List<Users>();
cmd.CommandText = "select *from users";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Users u = new Users();
u.UserName = dr["UserName"].ToString();
u.Password = dr["PassWord"].ToString();
u.Nickname = dr["NickName"].ToString();
u.Sex = Convert.ToBoolean(dr["Sex"]);
u.Birthday = Convert.ToDateTime(dr["Birthday"]);
u.Nation = dr["Nation"].ToString();
u.Class = dr["Class"].ToString();
flist.Add(u);
}
}
conn.Close();
return flist;
}
}

UsersData

光棒效果

意思是,当鼠标放上的时候,改变其属性,比如:背景色,边框颜色,边框样式等

方法:js代码实现,用到两个事件,分别是:onmouseover(鼠标放上)和onmouseout(鼠标离开)

1、不论是正常显示的还是预警显示的,当鼠标放上时,背景色变为黄色;鼠标离开,回复原来的颜色。

</style>
<script >
window.onload=function(){
var items = document.getElementsByClassName("tr_Item");
var oldColor = "";注释:存放原来的背景色
for (var i = ; i < items.length; i++) {
items[i].onmouseover = function () {
oldColor = this.style.backgroundColor;
this.style.backgroundColor = "yellow";
}
items[i].onmouseout = function () {
this.style.backgroundColor = oldColor;
}
}
}
</script>
</head>
<body>

前台

2、除预警显示红色不变外,当鼠标放上时,背景色变为黄色;鼠标离开,回复原来的颜色。

</style>
<script >
window.onload=function(){
var items = document.getElementsByClassName("tr_Item");
for (var i = ; i < items.length; i++) {
if (items[i].style.backgroundColor != Red) {
items[i].onmouseover = function () {
this.style.backgroundColor = "yellow";
}
items[i].onmouseout = function () {
this.style.backgroundColor = oldColor;
}
}
}
}
</script>

Repeater控件的事件处理

Repeater控件有以下事件:      
              ● DataBinding : Repeater控件绑定到数据源时触发      
              ● ItemCommand : Repeater控件中的子控件触发事件时触发      
              ● ItemCreated : 创建Repeater每个项目时触发  
              ● ItemDataBound : Repeater控件的每个项目绑定数据时触发

WebForm Repeater: 重复器的更多相关文章

  1. webform Repeater重复器、地址栏传值、Response

    Repeater: 重复器 <HeaderTemplate></HeaderTemplate> - 头模板:在循环开始时,其内容只会打印一遍 <ItemTemplate& ...

  2. repeater重复器、地址栏传值、response

    repeater重复器: <HeaderTemplate> <ItemTemplate> <AlternatingItemTemplate> <FooterT ...

  3. 2017-5-18 Repeater 重复器的使用

    Repeater - 重复器HeaderTemplate - 先执行,执行一次FooterTemplate - 最后执行,执行一次ItemTemplate - 在Header之后执行,有多少条数据绑定 ...

  4. Repeater - 重复器

    Repeater - 重复器,用来展示泛型集合中的数据 五大模板:1.HeaderTemplate - 头模板,加载时会在开始执行一次2.FooterTemplate - 脚模板,加载时会在最后执行一 ...

  5. webform Repeater、地址栏传值、Response

    Repeater: 重复器 Repeater中有五个模板,这里需要注意的是4个 <HeaderTemplate> - 开头,只执行一次的内容 <ItemTemplate> - ...

  6. WebForm Repeater Response以及 地址栏

    Repeater重复器: Repeater中有五个模板,这里需要注意的是4个 <HeaderTemplate> - 开头,只执行一次的内容 <ItemTemplate> - 需 ...

  7. webform repeater 的使用

    1  repeater    定义: 重复器    根据数据库里的内容将repeater里的内容重复赋值 ,在itemtemplate下   配合<%# Eval(" ") ...

  8. Webform——Repeater多表联合显示

    对于一个表里,通过外键连接如何显示另一个表的数据,前Winform里可以用封装类来实现. 对于Webform,可以用封装类,也可以用Repeater的ItemDataBound事件(//在项被绑定数据 ...

  9. WebForm Repeater使用

    Repeater: HeaderTemplate: 在加载开始执行一遍 ItemTemplate : 有多少条数据,执行多少遍 FooterTemplate :在加载最后执行一遍 Alternatin ...

随机推荐

  1. 数据结构之平衡二叉树(AVL树)

    平衡二叉树(AVL树)定义如下:平衡二叉树或者是一棵空树,或者是具有以下性质的二叉排序树: (1)它的左子树和右子树的高度之差绝对值不超过1: (2)它的左子树和右子树都是平衡二叉树. AVL树避免了 ...

  2. 新手程序员随笔2——初识html、css和javascript

    翻看博客,发现好久木有发blog了.纠其原因,一则是近来工作上卡到了一个编程难题,我是一个单线程的小猿,当我手头有事情做的时候,我不想分心去做其它事情,如写blog.二则是我个人的写作能力不佳,想到写 ...

  3. (学)解决VMware Taking ownership of this virtual machine failed

    原文:http://blog.csdn.net/fisher_jiang/article/details/6992588背景: 一次crash可能会造成虚拟机锁死的情况发生现象:点击take owne ...

  4. 开发中容易写错的一条SQL语句

    select * from tableName where name = like '%糖糖%' 出错的地方:name后面有=和like 出错的原因:复制过来的,其它地方是=,没有删掉直接加了like ...

  5. 中國區的代理協議的韓國遊戲廠商PatiGames

    “與阿裏巴巴簽署旗下游戲「突突三國」在中國區的代理協議的韓國遊戲廠商PatiGames決定與阿裏巴巴終止合作.”相信這條前不久報導的新聞,很多人並不陌生,但這背後其實並不像表面那樣簡單.早在今年4月P ...

  6. C fopen

    格式:文件指针名=fopen(文件名,使用文件方式) 参数:文件名 意义"C://TC//qwe.txt" 文件C:/TC/qwe.txt"qwe.txt" 和 ...

  7. Markdown常用语法

    什么是Markdown Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文档. 通过Markdown简单的语法,就可以使普通文本内容具有 ...

  8. “maven编码gbk的不可映射字符”解决办法

    一.问题描述 Eclipse中使用Maven编译项目源代码时,如下的错误 java源代码在Eclipse中显示是没有任何错误的,可是执行"maven install"命令编译项目时 ...

  9. 一起来做chrome扩展《本地存储localStorage》

    chrome中的本地存储其实也是用的HTML5中localStorage,唯一区别是chrome扩展有自己的localStorage,它属于这个扩展,而不属于一个域名.得用这一点可以很好的处理扩展自己 ...

  10. snmp ubuntu/centos--

    软件安装 切换到系统管理员帐户 安装snmp确认snmp代理已安装rpm -q net-snmp如果未安装,安装snmpyum install net-snmp 设置开机自动运行snmp/sbin/c ...