日期:2014-05-20  浏览次数:20375 次

repeater为何在后台取不到值?
前台:
  <ItemTemplate>
        <tr   bgcolor= "#F1F2F3 ">
          <td   width= "542 ">
            <asp:Label   ID= "reid "   Runat= "server ">
            <%#   DataBinder.Eval(Container.DataItem, "id ")   %> </asp:Label> ||
<%#   DataBinder.Eval(Container.DataItem, "re_user ")   %> </td>
后台:
                        foreach(RepeaterItem   rpt   in   re_rpt.Items)
                        {
                                Label   reid1=(Label)rpt.FindControl( "reid ");
                                //TextBox   fen=(TextBox)rpt.FindControl( "refen ")fen.Text;
                                Response.Write(reid1.Text+ "*id       "+ " <br> ");
                        }
repeater中的输入框可以取得值,为什么我不能取Label的值呢?

------解决方案--------------------
帮顶.
------解决方案--------------------
label 用这样绑定试试 </asp:Label> <asp:Label ID= "reid " Runat= "server " Text= ' <%# DataBinder.Eval(Container.DataItem, "id ") %> '> </asp:Label>

------解决方案--------------------
我曾经用它在后台取过值 ItemCommand事件 遍历应该跟这个一样吧

private void Repeater1_ItemCommand()
{
string txt=((Label)e.Item.Controls[3]).Text
}

------解决方案--------------------
如果页面加载时也是数据绑定时那样遍历也可
Label控件的Text应该是 "天天向上 "说的那样