Repeater介绍
(1):Repeater(foreach)用于对绑定数据源中的数据进行遍历并按格式显示,每条数据以什么格式显示是由Repeater的来决定的,模板会多次显示,就像foreach, ItemTemplate 中相当于{}中的语句。姓名:<%#Eval(“Name”)%>年龄:<%#Eval(“Age”)%>
。注意:%和#中间不能有空格。
(2):<%#Eval(“Name”)%>表示在这个位置显示当前实体对象的Name属性,注意调用Eval、Bind这些数据绑定方法的时候要用#。
(3):因为Eval就是将属性显示到指定的位置,因此也可以显示到文本框中姓名:<asp:TextBox runat=“server” Text=’<%#Eval(“Name”) %>’ >
(4):注意不要写成Text="<%#Eval(‘Name’) %>" 因为<%%>中的是C#代码,’'是字符,而不是字符串
(5):还可以用在服务器控件中<asp:TextBox Text=’<%#Eval(“Name”) %>’ runat=“server”></asp:TextBox>
Repeater其他模板
(1):设置隔行的不同显示风格,如果设定,则奇数行用模板,偶数行用模板
(2):<asp:TextBox BackColor=“Red” ID=“TextBox2” Text=’<%#Eval(“Name”) %>’ runat=“server”/>。设置隔行变色是为了防止数据太多看串行。
(3):HeaderTemplate、FooterTemplate:头部、尾部的模板,分别显示在所有数据的前面和后面。
(4):SeparatorTemplate :两项数据之间的分隔符,比如换行符
ItemCommand
(1):可以在模板中放置Button控件(Button、LinkButton、ImageButton),模板中的按钮一般不写OnClick事件响应,而是响应Repeater的ItemCommand事件。
(2):为Button控件设定CommandName、CommandArgument属性,然后在ItemDataBound事件读取e的CommandName、CommandArgument属性就可以获得发生事件的命令和行参数了。如果对数据进行了操作,则需要Repeater1.DataBind()来重新绑定