Как я могу просмотреть asp: текстовое поле внутри rgroups повторителя нужно решение в vb.net - PullRequest
0 голосов
/ 29 марта 2011

Почему я не могу получить доступ к этому текстовому полю внутри ретранслятора? Я использовал следующее в rgroups itemdatabind что бы я ни делал, он говорит, что на объект нельзя ссылаться. Пожалуйста, предоставьте любой ответ в vb.net

<asp:Repeater ID="rGroups"  Runat="server">  
<HeaderTemplate>
  <ul id="prod_nav" class="clearfix">  
<asp:TextBox ID="txt"  Text="<%#DataBinder.Eval(Container.DataItem,"groupid")%>" runat="server"> 
  </asp:TextBox> 
</HeaderTemplate>   
<ItemTemplate>        
 <li class="top"><a href="05-Pink-02-Category-List.html" class="top_link">  
<span class="down">      <%#D ataBinder.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="default.aspx?subgrp=<%#DataBinder.Eval(Container.DataItem,"subgroupId")%>"><%#DataBinder.Eval(Container.DataItem,"subgroupname")%></a></li>  
      </ItemTemplate>        
<FooterTemplate>                    </ul>                  </li>                </ul>            </FooterTemplate>    


Ответы [ 2 ]

1 голос
/ 29 марта 2011

да, вы можете получить доступ к этому текстовому полю, но это не очень приятный код:

вам нужно вызвать функцию FindControl, если требуется repeatateritem.cotrols

1 голос
/ 29 марта 2011
protected void rGroups_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Header) // For Header
    {
        TextBox txt = e.Item.FindControl("txt") as TextBox;
    }
} 

VB.Net:

Protected Sub rGroups_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles rGroups.ItemDataBound
    If e.Item.ItemType = ListItemType.Header Then
        ' For Header '
        Dim txt As TextBox = TryCast(e.Item.FindControl("txt"), TextBox)
    End If
End Sub

Repeater.ItemDataBound

...