如何获取Footer中的子控件

真的许久没更新blog了,不是无所事事,确实是因为急着赶快完成工作

事实上这个问题出现在我为Repeater控件添加分页功能时。情况是这样的:
                             < footertemplate >
                                
< tr >
                                    
< td  colspan ="9" >
                                        
< asp:panel  ID ="PageRow"  Runat ="server"  EnableViewState ="True" >
                                            共
                                            
< asp:label  ID ="PageRowsCount"  Runat ="server" ></ asp:label > 条记录,当前第
                                            
< asp:label  ID ="PageIndex"  Runat ="server" ></ asp:label > 页/
                                            
< asp:label  ID ="PageCount"  Runat ="server" ></ asp:label >
                                            
                                        
</ asp:panel >
                                    
</ td >
                                
</ tr >
                            
</ footertemplate >

老规矩,多余的代码就不说了

这个Panel出于两方面考虑,一方面作为容器以获得里面的几个控件,另一方面使用它的div套用样式。
但是奇怪的是无论如何在Repeater里FindControl都没法得到它。
Repeater1.JPG
别着急,Controls实际上是Repeater的数据行集,

Repeater2.JPG
Footer总是在最后一个,So...

 

None.gif                 Panel pagepanel  =  (Panel)(typecontracts.Controls[typecontracts.Controls.Count - 1 ].FindControl( " PageRow " ));

 

                Label pagerowscount  =  (Label)pagepanel.FindControl( " PageRowsCount " );
                
int  pagecount  =  list.RowsCount  %  pagesize  >   0   ?  list.RowsCount / pagesize  +   1  : list.RowsCount / pagesize;
                ((Label)pagepanel.FindControl(
" PageCount " )).Text  =  pagecount.ToString();
                ((Label)pagepanel.FindControl(
" PageIndex " )).Text  =  ( list.PageIndex + 1  ).ToString();
                
for  (  int  i = 0 ; i <  pagecount; i ++  )
                {
                    System.Web.UI.WebControls.HyperLink link 
=   new  HyperLink();
                    link.Text 
=  (i + 1 ).ToString();
                    link.NavigateUrl
= " index.aspx?tid= "   +  contracttype.TypeID  +   " &sid= "   +  DContractStates.SelectedValue  +   " &pid= "   +  (i * pagesize + 1 ).ToString();
                    pagepanel.Controls.Add( link );
                }
                pagerowscount.Text 
=  list.RowsCount.ToString();

转载于:https://www.cnblogs.com/pblee/archive/2006/08/23/484217.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值