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做法