Repeater
造模板
1: 头模板 <HeaderTemplate><table></HeaderTemplate> 只出现一次,一般是标题行
2:项模板 <ItemTemplate></ItemTemplate> 需要绑定字段 <%#Eval("Code") %> 根据数据库数据源的多少 可自动生成
3: 交替项模板 奇偶行交替改变 <AlternatingItemTemplate> </AlternatingItemTemplate>
4:脚模板<FooterTemplate></table></FooterTemplate> 只出现一次
绑定数据:
1:指定数据源:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
InfoDataContext context = new InfoDataContext();
Repeater1.DataSource = context.Info;
Repeater1.DataBind();
}
}
2:绑定数据在设计源中写
1 <%#Eval("Code") %>绑定显示某一数段
2 调用函数来显示数据 ShowSex() ShowNation() ShowBirthday()
3 绑定主表中的字段 <%#Eval("Nation1.Name") %>
4 格式化显示数据:<%#Eval("Birthday","{0:yyyy年MM月dd日}") %>
造函数
public string ShowSex()
{
//return Convert.ToBoolean(Eval("sex"))?"男":"女";
if (Convert.ToBoolean(Eval("sex")))
{
//return "<span style='color:blue'> 男 </span>";//标记颜色
return "<mark>男</mark>";//标记颜色
}
else
{
return "女";
}
}
public string ShowSex()
{
return Convert.ToBoolean(Eval("sex"))?"男":"女";
}
public string ShowNation()
{
string nation = Eval("Nation").ToString();
InfoDataContext context = new InfoDataContext();
return context.Nation.Where(p=>p.Code==nation).First().Name;
}
public string ShowBirthday()
{
return Convert.ToDateTime( Eval("Birthday")).ToString("yyyy年MM月dd日");
}
练习:菜单的repeater做法