惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
S
Securelist
P
Proofpoint News Feed
D
DataBreaches.Net
Cisco Talos Blog
Cisco Talos Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Project Zero
Project Zero
A
About on SuperTechFans
罗磊的独立博客
WordPress大学
WordPress大学
月光博客
月光博客
Latest news
Latest news
C
Cyber Attacks, Cyber Crime and Cyber Security
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
W
WeLiveSecurity
Attack and Defense Labs
Attack and Defense Labs
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Privacy International News Feed
AI
AI
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
Help Net Security
Help Net Security
T
Tor Project blog
V
Vulnerabilities – Threatpost
C
Cisco Blogs
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
MyScale Blog
MyScale Blog
雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
Forbes - Security
Forbes - Security
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
T
Threat Research - Cisco Blogs
B
Blog RSS Feed
博客园 - 叶小钗
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Simon Willison's Weblog
Simon Willison's Weblog
C
CERT Recently Published Vulnerability Notes
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic

博客园 - 昊子

工作流参考模型(Workflow Reference Model) DNN default document的异常错误 如何使用GoogleCode提供的SVN Source Control服务 Norton PartitionMagic 8.0 Resizing Boot Partition 智能提示和那些值得崇拜的人 推荐一个Flex & AIR皮肤站点 SessionDiskCache 0.1版发布 Flex locale Flex Repeater 多层嵌套 从没走远 SubmitMask 1.0 发布 DNN学习笔记 之一 配置 使用NHibernate时产生的一个错误 NHibernate官方文档 之 NHibernate指南-前言 C#反转单向链表 C#事件编程 静态构造函数和静态成员变量初始化的调用时间 NHibernate和SqlImage 结束无谓的讨论吧
如何获取Footer中的子控件
昊子 · 2006-08-23 · via 博客园 - 昊子

真的许久没更新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都没法得到它。

别着急,Controls实际上是Repeater的数据行集,


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

                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();