c# - 访问控件: Nested repeater

标签 c# asp.net vb.net

我如何获得位于另一个转发器中的文本框?

<asp:Repeater ID="Repeater1" runat="server">
 <ItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
      <asp:Repeater ID="Repeater2" runat="server">
         ....
       </asp:Repeater>
  </ItemTemplate>
</asp:Repeater>

我在repeater2 ItemDataBound 中,我需要获取TextBox1 的值,我该怎么做。

 Protected Sub Repeater2_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.RepeaterItemEventArgs)  

??

    End Sub

最佳答案

内层repeater的NamingContainer是外层RepeaterRepeaterItem,然后使用FindControl获取对 TextBox 的引用:

protected void Repeater2_ItemDataBound(Object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        Repeater innerRepeater = (Repeater) sender;
        RepeaterItem outerItem = (RepeaterItem) innerRepeater.NamingContainer;
        TextBox TextBox1 = (TextBox) outerItem.FindControl("TextBox1");
    }
}

关于c# - 访问控件: Nested repeater,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16149759/

相关文章:

c# - 重定向到新网站以及查询字符串参数。仅 DNS 名称更改

c# - 带斜杠的正则表达式模式

.net - 在 beginform 中使用链接而不是按钮

asp.net - 我使用 asp.net.am 运行 Web 分配时出现此错误

VB.NET 和 BITS - 后台智能传输服务

c# - Arduino和C#串口 "Crash"

c# - 在 WPF 中渲染 UIElement 期间等待屏幕

asp.net - Html.DropDownListFor 设置选中值

.net - And operator with 1 2 4 8 16-like enumeration

c# - 帮助将小型 C# WCF 应用程序转换为 Visual Basic(第 2 部分)