首页 新闻 赞助 找找看

在repeater中怎么找不到子控件?

0
悬赏园豆:10 [已解决问题] 解决于 2008-05-21 15:40
<?xml:namespace prefix = asp /><asp:Label id=label1 runat="server"> <P>我在文件中加了一个repeater控件,在repeater的&lt;HeaderTemplate&gt; &lt;/HeaderTemplate&gt;中加了一个子控件,为什么我在后台代码中用 repeater.FindControl()找不到这个子控件。请问各位高手如河才能找到这个子控件?<BR>皮肤文件代码如下:<BR>&lt;asp:Repeater ID="NavRepeater" runat="server"&gt;<BR>&lt;HeaderTemplate&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;asp:Label ID="label1"&nbsp; runat="server" /&gt;&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/HeaderTemplate&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;ItemTemplate&gt;<BR>&nbsp;&nbsp;.......&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ItemTemplate&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;FooterTemplate&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/FooterTemplate&gt;<BR>&lt;/asp:Repeater&gt;<BR>对应的.cs文件相关代码:<BR>&nbsp;protected&nbsp; override void AttachChildControls()<BR>&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rpt = FindControl("NavRepeater") as Repeater;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rpt.ItemDataBound += new RepeaterItemEventHandler(movies_ItemDataBound);</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;la = rpt.FindControl("label1") as Label;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;la.Text = "test";<BR>&nbsp;}<BR>在这里la.Text肯定出错, la 的值是null.&nbsp; 请问如何才能找到这个Label.<BR>&nbsp;谢谢!</asp:Label></P>
yeyang的主页 yeyang | 菜鸟二级 | 园豆:418
提问于:2008-05-21 10:47
< >
分享
最佳答案
0
你的Label是在HeaderTemplate模版。而你的Find是查找ItemTemplate模块。当然找不到的。 在这个事件可以找到的。 protected void rptXmlList_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Header) { Label lblID = (Label)e.Item.FindControl("lblID"); } }
迭_戈 | 初学一级 |园豆:147 | 2008-05-21 11:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册