关于 Repeater 控件嵌套的使用。在嵌套中添加 其它控件(如:按钮),并影响其它控件的方法,很重要哦,测试通过。...
生活随笔
收集整理的這篇文章主要介紹了
关于 Repeater 控件嵌套的使用。在嵌套中添加 其它控件(如:按钮),并影响其它控件的方法,很重要哦,测试通过。...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里的Repeater 嵌套,是指在 外層的Repeater的 ItemTemplate 中 又添加了一個 Repeater ,并且在兩層的Repeater中都添加了一個Button控件。我們要實現兩個控件的事件響應。也就是點兩個Button時執行相應的方法。
看 .aspx 代碼:
1 <asp:Repeater ID="Repeater1" runat="server"2 onitemdatabound="Repeater1_ItemDataBound"
3 onitemcommand="Repeater1_ItemCommand">
4 ?// 這是外層的Repeater。注意看最后一行。Onitemcommand 事件
5 ? <HeaderTemplate>
6 ?<table width="500" border="0" cellspacing="3" cellpadding="0">
7 </HeaderTemplate>
8
9 <ItemTemplate>
10 <tr>
11 <td width="72" height="30" bgcolor="#669966"><%# Eval("UserName") %></td>
12 <td height="30" bgcolor="#669966"><%# Eval("Title") %><div style="text-align: right; clear: right"><asp:Button Text="刪除留言" runat="server" CommandName="deletely" CommandArgument='<%# Eval("ID") %>' />
13 ?//這是外層的Button。
14 </div></td>
15 </tr>
16 <tr>
17 <td height="30"></td>
18 <td height="30" bgcolor="#99FFCC"><%# Eval("cont") %></td>
19 </tr>
20 <tr>
21 <td height="30"> </td>
22 <td height="30">
23 <asp:Repeater ID="Repeater2" runat="server" onitemcommand="Repeater2_ItemCommand">
24 //這里嵌套到里面的第二Repeater。在這個控件中,也有一個Onitemcommand 事件的處理。
25 <HeaderTemplate>
26 <table width="415" border="0" cellspacing="3" cellpadding="0">
27 </HeaderTemplate>
28 <ItemTemplate>
29
30 <tr>
31 <td width="20%" height="30" bgcolor="#0099FF"><%# Eval("UserName") %></td>
32 <td height="30" bgcolor="#0099FF"><%# Eval("Title") %><div style="text-align: right; clear: right"><asp:Button ID="Button1" Text="刪除回復" runat="server" CommandName="deletehf" CommandArgument='<%# Eval("ID") %>' />
33 // 這是內層的 Button。
34 </div></td>
35 </tr>
36 <tr>
37 <td height="30" colspan="2"><%# Eval("Reply") %></td>
38 </tr>
39
40 </ItemTemplate>
41
42 <FooterTemplate>
43 </table>
44 </FooterTemplate>
45 </asp:Repeater>
我們就是依靠 這兩個 Onitemcommand 事件來執行代碼的。
來看一下, .cs 代碼
1 protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)2 //在這里處理第1個Button事件,因為這個Button位于第一個 Repeater中。
3 //在這里是不能捕捉到第二個Repeater控件中的Button事件的。
4 {
5 if (e.CommandName == "deletely")
6 {
7 int dlid = Convert.ToInt32(e.CommandArgument.ToString());
8 opclass opc = new opclass();
9 opc.ExectCmd(string.Format("Delete From [liuyan] Where ID={0}", dlid));
10 opclass opc1 = new opclass();
11 opc1.ExectCmd(string.Format("Delete From [Reply] Where lyID={0}", dlid));
12 bangdingdata();
13
14 }
15 }
16
17 protected void Repeater2_ItemCommand(object source, RepeaterCommandEventArgs e)
18 //在這里處理第2個Button事件,因為這個Button位于第二個 Repeater中。
19 {
20 if (e.CommandName == "deletehf")
21 {
22 int dlid = Convert.ToInt32(e.CommandArgument.ToString());
23 opclass opc = new opclass();
24 opc.ExectCmd(string.Format("Delete From [Reply] Where ID={0}", dlid));
25 bangdingdata();
26
27
28 }
29
30 }
提示:
點擊外層的 Repeater 控件的時候,在屬性對話框中,可以找到 OnitemCommand 事件,雙擊可以自動創造出對應的代碼。
(也就是可以在屬性對話框中點擊那個小閃電符號找到對應的事件)但是當點擊內層的Repeater的時候,是沒有那個小閃電的。所以,在第二個
Repeater 中的 OnitemCommand事件只能手動添加上去,要在.aspx文件和.cs文件中分別添加對應的代碼才行。添加完成后,程序會執行對應的代碼。
總結
以上是生活随笔為你收集整理的关于 Repeater 控件嵌套的使用。在嵌套中添加 其它控件(如:按钮),并影响其它控件的方法,很重要哦,测试通过。...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: z01文件怎么打开(怎么打开z01文件)
- 下一篇: 洗衣机漏电会电死人吗(如何正确选购洗衣机