HTML代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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 auto;
padding:0px;
}
#menu {
list-style:none;
}
.cd {
float:left;
width:100px;
height:30px;
background-color:#FF66CC;
font-size:13px;
font-family:微软雅黑;
text-align:center;
line-height:30px;
vertical-align:middle;
color:white;
border-right:1px solid black;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<%--头模板只显示一次--%>
<HeaderTemplate>
<table width="100%" border="0" cellspacing="1" cellpadding="1" bgcolor="#3300FF">
<tr>
<td width="120" height="30" align="center" valign="middle" bgcolor="#FFFFFF">代号</td>
<td width="120" align="center" valign="middle" bgcolor="#FFFFFF">姓名</td>
<td width="120" align="center" valign="middle" bgcolor="#FFFFFF">性别</td>
<td width="120" align="center" valign="middle" bgcolor="#FFFFFF">民族</td>
<td width="200" align="center" valign="middle" bgcolor="#FFFFFF">生日</td>
</tr>
</HeaderTemplate>
<%-- 项模板 有多少数据就生成多少项--%>
<ItemTemplate>
<tr> <%--再HTML里面嵌入C#代码--%>
<td height="30" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Code") %></td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Name") %></td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><%#ShowSex()%></td><%--找后台函数调用--%>
<td align="center" valign="middle" bgcolor="#FFFFFF"><%#ShowNation() %></td><%--可以用调用后台函数的方法显示民族名称--%> <%--Eval("Nation1.Name") 如果有主外键关系,要想显示主表的某一列,可以直接用表名点出他的列--%>
<td align="center" valign="middle" bgcolor="#FFFFFF"><%#ShowBirthday() %></td> <%--可以用调用后台函数的方法显示生日 格式化日期时间--%><%--Eval("Birthday","{0:yyyy年MM月dd日}"可以直接进行格式化 "Birthday"前面是要绑定字段的名称,,"{0:yyyy年MM月dd日}"yyyy年MM月dd日是格式化字符串 --%>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>交替项模板
<tr> <%--再HTML里面嵌入C#代码--%>
<td height="30" align="center" valign="middle" bgcolor="#00FFFF"><%#Eval("Code") %></td>
<td align="center" valign="middle" bgcolor="#00FFFF"><%#Eval("Name") %></td>
<td align="center" valign="middle" bgcolor="#00FFFF"><%#ShowSex()%></td><%--找后台函数调用--%>
<td align="center" valign="middle" bgcolor="#00FFFF"><%#ShowNation() %></td><%--可以用调用后台函数的方法显示民族名称--%> <%--Eval("Nation1.Name") 如果有主外键关系,要想显示主表的某一列,可以直接用表名点出他的列--%>
<td align="center" valign="middle" bgcolor="#00FFFF"><%#ShowBirthday() %></td> <%--可以用调用后台函数的方法显示生日 格式化日期时间--%><%--Eval("Birthday","{0:yyyy年MM月dd日}"可以直接进行格式化 "Birthday"前面是要绑定字段的名称,,"{0:yyyy年MM月dd日}"yyyy年MM月dd日是格式化字符串 --%>
</tr>
</AlternatingItemTemplate>
<%--页脚模板只显示一次--%>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
<br />
<br />
<asp:Repeater ID="Repeater2" runat="server">
<HeaderTemplate>
<u id="menu">
</HeaderTemplate>
<FooterTemplate>
</u>
</FooterTemplate>
<ItemTemplate>
<li class="cd" bs="<%#Eval("Code") %>"><%#Eval("Name") %></li>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
后台C#代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TestDataContext context = new TestDataContext();
//Info是从表 Nation是主表 可以从 从表中点出主表 可以直接找到它的姓名
// context.Info.Where(p => p.Nation1.Name);
Repeater1.DataSource = context.Info;
Repeater1.DataBind();
Repeater2.DataSource = context.Nation;
Repeater2.DataBind();
}
}
//用函数处理性别
public string ShowSex()
{
//转成bool型 sum运算符 把Sex转成男或女 返回过来
// return Convert.ToBoolean(Eval("Sex")) ? "男" : "女";
//如果是男显示红色
if (Convert.ToBoolean(Eval("Sex")))
{
//return "<span style=‘color:red‘>男</span>";
return "<mark>男</mark>";
}
else
{
return "女";
}
}
//返回一个民族名称
public string ShowNation()
{
string nation = Eval("Nation").ToString();
TestDataContext context = new TestDataContext();
return context.Nation.Where(p => p.Code == nation).First().Name;
}
//处理生日 格式化日期时间
public string ShowBirthday()
{
return Convert.ToDateTime( Eval("Birthday")).ToString("yyyy年MM月dd日");
}
}
显示:

原文:http://www.cnblogs.com/zhuxu/p/5051355.html