<asp:Panel ID="Panel2" runat="server" Height="50px" Visible="False" Width="698px">
            <br />   <div id="gifts" visible="false"  runat="server">
              <asp:Repeater ID="rpLine" runat="server"> 我是获取 Repeater 里面的 label 值   但是Repeater 外面还有个 Panel2。我用这样的方式获取不到     Label lb = (Label)Repeater1.FindControl("Lblyes");
            lb.Text = yesfen.ToString();//数目

解决方案 »

  1.   

    Repeater1里的控件根据Repeater1数据源生成的很多个的,所以直接用这个Label的ID是取不到的,它又不知道你要取那个,所以只能在每一个Item里取
      

  2.   

    Label lb = (Label)Repeater1.Items[x].FindControl("Lblyes");你要指明哪行的Label
      

  3.   

    你要用foreach 遍历Repeater1 里面的所有Item  去找
    Label lb = (Label)Repeater1.FindControl("Lblyes");
    这样才能找到
      

  4.   


                for (int i = 0; i < rpLine.Items.Count; i++)
                {
                    Label lb = (Label)rpLine.Items[i].FindControl("Lblyes");
                    lb.Text = yesfen.ToString();//答对数目
                }     i < rpLine.Items.Count  这里是零
      

  5.   

    1.System.Windows.Forms.Timer 是单线程的,它只在UI线程中运行,定时精度约55ms,当前的事件没处理完成时,下一次事件不会触发;过久地处理会导致界面假死。
    2.System.Threading.Timer 是多线程的,触发的事件在ThreadPool里面的线程中运行,所以当前事件没处理完成时,也会另开一个新线程处理。
    -----------------------
    参考.
      

  6.   

    楼主 请贴出 完整HTML代码