Điều khiển Repeater với các sự kiện

Một phần của tài liệu Giáo trình ASP.NET cơ bản doc (Trang 150 - 153)

Đ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)

Một phần của tài liệu Giáo trình ASP.NET cơ bản doc (Trang 150 - 153)

Tải bản đầy đủ (PDF)

(183 trang)