“OnCommand”事件中的Repeater内部TextBox

时间:2011-11-22 11:15:43

标签: c# repeater

我有带ID LinkArgument的LinkBut​​ton的Repeater 当我单击该按钮时,我想从转发器内的相同DataItem TextBox获取值。 我怎样才能轻松搞定。 感谢

1 个答案:

答案 0 :(得分:4)

您必须处理Repeater控件的ItemCommand事件。

标记:

<asp:Repeater ID="Repeater1" runat="server" 
        onitemcommand="Repeater1_ItemCommand">
      <ItemTemplate>
          <asp:LinkButton 
                     ID="LinkButton1" 
                     runat="server"
                     CommandName="cmd"
                     CommandArgument='<%#Eval("Name") %>'
                     Text="Click Here"
                     >
          </asp:LinkButton>
          <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
      </ItemTemplate>
    </asp:Repeater>

代码:

 protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "cmd")
        {
            TextBox tx = e.Item.FindControl("TextBox1") as TextBox;
            tx.Text = e.CommandArgument.ToString();
        }
    }