protected void rptNav_ItemCreated(object sender, RepeaterItemEventArgs e)
    {
        HtmlAnchor sa = e.Item.Controls[1] as HtmlAnchor;
        int count = e.Item.Controls.Count;
         object obj1;
        for (int i = 0; i < e.Item.Controls.Count; i++)
        {
            obj1= e.Item.Controls[i];
        }
        
    }其中a标签的title里是有值的,可后台获得的确是“”?点解?<asp:Repeater ID="rptNav" runat="server" OnItemCreated="rptNav_ItemCreated">
                                        <ItemTemplate>
                                            <li id="anniu"><a href="#" id="sa" title='<%#Eval("ID") %>' runat="server">
                                                <%# Eval("NAME") %></a></li>
                                        </ItemTemplate>
                                    </asp:Repeater>

解决方案 »

  1.   

    对控件生命周期有误解,rptNav_ItemCreated事件只是根据模板创建行而已,还没有往里面填充数据呢
    既然你绑的是ID,可以在DataBound事件中取这个字段值
      

  2.   

    <li>、<a>都不是服务器控件,所以无法获取,要加runat="server" 
      

  3.   

    protected void rptNav_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            HtmlAnchor sa = e.Item.Controls[1] as HtmlAnchor;
            int count = e.Item.Controls.Count;
             object obj1;
            for (int i = 0; i < e.Item.Controls.Count; i++)
            {
                obj1= e.Item.Controls[i];
            }
            
        }写法有误