Điểu khiển Repeater hỗ trợ các sự kiện sau:
DataBinding: xảy ra khi Repeater được rạng buộc đến dữ liệu
ItemCommand: xảy ra khi bên trong Repeater chứa đựng điều khiện Command và điều khiển này đưa ra sự kiện.
ItemCreate: xảy ra khi mỗi RepeaterItem được tạo
ItemDataBound: xảy ra khi mỗi item của Repeater được ràng buộc Ví dụ trang RepeaterEvent.aspx
<%@Page Language="C#"AutoEventWireup="true" CodeFile="RepeaterEvent.aspx.cs"
Inherits="_Default" %>
<scriptrunat="server">
void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) {
Response.Write("<li>Dữ liệu đang được tạo</li>"); }
void repeater1_DataBinding(object sender, EventArgs e) {
Response.Write("Ràng buộc dữ liệu cho Repeater"); }
void Repeater1_ItemCommand(object sender, RepeaterCommandEventArgs e) {
switch (e.CommandName) {
case"insert":
Response.Write(e.CommandArgument.ToString() + ": Bạn chọn xoá dữ liệu"); break;
case"update":
Response.Write(e.CommandArgument.ToString() + ": Bạn chọn cập nhật dữ liệu"); break;
case"delete":
Response.Write(e.CommandArgument.ToString() + ": Bạn chọn xoá dữ liệu"); break;
} }
</script>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server">
<title>Repeater</title>
<styletype="text/css">
html{background-color:silver;}
.content{width:600px;border:solid1pxblack;background-color:white;} .intro{border-collapse:collapse;}
.introth,.introtd{padding:10px;border-bottom:1pxsolidblack;} .alternating{background-color:#eeeeee;}
</style> </head> <body>
<formid="form1"runat="server">
<asp:RepeaterOnItemDataBound="Repeater1_ItemDataBound"
OnDataBinding="repeater1_DataBinding"OnItemCommand="Repeater1_ItemCommand"
DataSourceID="SqlDataSource1"ID="Repeater1"runat="server">
<HeaderTemplate>
<tableclass="intro">
<tr> <th>Tiêu đề</th> <td>Tóm tắt</td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Eval("sTitle") %></td> <td><%#Eval("sSummary")%></td> </tr> <tr> <tdcolspan="2">
<asp:LinkButton ID="lbninsert"CommandName="insert"
CommandArgument="insert"runat="server">Insert</asp:LinkButton> | <asp:LinkButton ID="lbnupdate"CommandName="update"
CommandArgument="update"runat="server">Update</asp:LinkButton> | <asp:LinkButton ID="lbndelete"CommandName="delete"
CommandArgument="delete"runat="server">Delete</asp:LinkButton>
</td> </tr> </ItemTemplate> <AlternatingItemTemplate> <trclass="alternating"> <td><%#Eval("sTitle") %></td> <td><%#Eval("sSummary") %></td> </tr> <tr> <tdcolspan="2">
<asp:LinkButton ID="lbninsert"CommandName="insert"
CommandArgument="insert"runat="server">Insert</asp:LinkButton> | <asp:LinkButton ID="lbnupdate"CommandName="update"
CommandArgument="update"runat="server">Update</asp:LinkButton> | <asp:LinkButton ID="lbndelete"CommandName="delete"
CommandArgument="delete"runat="server">Delete</asp:LinkButton>
</td> </tr> </AlternatingItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater>
<asp:SqlDataSourceID="SqlDataSource1"
ConnectionString="<%$ConnectionStrings:hcubiuData %>"
SelectCommand="select sTitle,sSummary,sContent from tblIntrodure"
runat="server"></asp:SqlDataSource>
</div>
</body> </html>
Ví dụ trên bạn đưa vào 3 sự kiện cho điều khiển Repeater, tương ứng với nó là 3 sự kiện được kích hoạt: sự kiện
Repeater1_ItemDataBound được đưa ra làm và nó được thực hiện mỗi khi dữ liệu hay một item được đưa vào Repeater với ví dụ trên nó sẽ in ra “dữ liệu đang được tạo” x(số hàng trong bảng dữ liệu) lần.
repeater1_DataBinding thực hiện công việc khi dữ liệu được điền vào Repeater.
Repeater1_ItemCommand: phụ thuộc vào tên CommandName để đưa ra công việc thích hợp(nếu chưa rõ CommandName bạn xem lại phần Các điều khiển cơ bản của ASP.NET)