0

我在转发器中找不到作为文本框的控件 txt 我在 rgroups itemdatabound 事件中使用了以下内容

------------item数据绑定代码

Protected Sub rGroups_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rGroups.ItemDataBound


Dim dv As DataRowView = TryCast(e.Item.DataItem, DataRowView)
If dv IsNot Nothing Then
  Dim rptOrderDetails As Repeater = TryCast(e.Item.FindControl("rSubgroups"), Repeater)
   Dim control1 As Control = rGroups.Items(0).FindControl("txt")
  Dim txtbox As TextBox = DirectCast(control1, TextBox)

    If rptOrderDetails IsNot Nothing Then

      Dim dv_co As New DataView(dssubmenu)

    dv_co.RowFilter = "groupId = '" + txtbox.Text + "'"
      rptOrderDetails.DataSource = dv_co

      rptOrderDetails.DataBind()
    End If
  End If
End Sub

------------中继码

   <asp:Repeater ID="rGroups"  Runat="server">  
 <HeaderTemplate>

  <ul id="prod_nav" class="clearfix">  

   </HeaderTemplate>   
<ItemTemplate>        
<asp:TextBox ID="txt"  Text="<%#DataBinder.Eval(Container.DataItem,"groupid")%>" runat="server">     </asp:TextBox> 

<li class="top"><a href="05-Pink-02-Category-List.html" class="top_link">   <span class="down"> <%#DataBinder.Eval(Container.DataItem,"groupname")%></span></a>   
 <asp:Repeater ID="rSubgroups"  Runat="server">          
 <HeaderTemplate>              

<ul class="sub">          

    <li class="clearfix">    
                    <ul>       
 </HeaderTemplate>            <ItemTemplate> 

         <li><a href="partviewer.aspx?subgrp=<%#DataBinder.Eval(Container.DataItem,"subgroupId")%>">  <%#DataBinder.Eval(Container.DataItem,"subgroupname")%></a></li>  
      </ItemTemplate>        
  <FooterTemplate>                    </ul>                  </li>                </ul>            <        </FooterTemplate>    


4

1 回答 1

0

您可能希望在 中获取txt数据绑定的控件Repeater,而不是从Repeater控件本身。事件的 eventargs 参数ItemDataBound包含新创建的RepeaterItem. 它来自您要检索控件的项目:

Dim control1 As Control = e.Item.FindControl("txt")
于 2011-03-28T08:54:48.450 回答