repeater有一个ItemDataBound事件public partial class test : System.Web.UI.Page 

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
          TextBox[] txtname = new TextBox[e.Item.Controls.Count];
          for (int i = 0; i < e.Item.Controls.Count; i++)
          {
            txtname[i] = (TextBox)e.Item.FindControl("txtname"); 
            if (txtname[i] != null) 
            { 
               txtname[i].Text=//你要的值;
            }
            //break;看你需不需要继续
          }
    } 

解决方案 »

  1.   

    首先把按钮的CommandName绑定为<%# Eval("Rid") %>是很奢侈的,如果想知道当前行的id,可以使用一个Label,CommandName往往是用来说明这个按钮的功能。同时,默认情况下,Repeater中的按钮引发的就是Repeater的ItemCommand事件,然后在这个事件里,我们用CommandName来区分究竟是每个RepeaterItem中的那一个按钮(同一项中可能有多个按钮,使用CommandName区分)所有楼主的前台aspx代码可以是这样的<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" OnItemCommand="Repeater1_ItemCommand">
        <ItemTemplate>
            <asp:TextBox ID="txtjiaosename" runat="server" Width="85px" CssClass="STYLE2"> </asp:TextBox> </BR> <%--OnTextChanged="txtjiaosename_TextChanged" AutoPostBack="true"--%> 
            <asp:Label ID="Label1" runat="server" Text=' <%# Eval("Rid") %>' Visible="false"></asp:Label>
            <asp:LinkButton id="lin1" runat="server" Visible= '<%# GetError(Eval("Flag").ToString(), Eval("Status").ToString())=="0"%>' OnClientClick="return confirmreset();" CommandName="Select" CommandArgument=' <%# Eval("PayActorID") %>' Text="恢复"> </asp:LinkButton>
            <br />
        </ItemTemplate>
    </asp:Repeater>后台aspx.cs
    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        //区分是哪个按钮
        if (e.CommandName == "Select")
        {
            //这里得到文本框的值
            Response.Write((e.Item.FindControl("txtjiaosename") as TextBox).Text);
        }
    }
      

  2.   

     protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
        { 
              TextBox[] txtname = new TextBox[e.Item.Controls.Count];
              for (int i = 0; i < e.Item.Controls.Count; i++)
              {
                txtname[i] = (TextBox)e.Item.FindControl("txtname"); 
                 txtname[i].Text=  输入框的值                             
                 }
        }