Recuperando FindControl do repeater pai no evento do repeater filho

.NET

25/02/2016

Olá pessoal.

Estou com dificuldade para conseguir pegar um campo do meu repeater pai no click do meu linkbutton que esta dentro de outr repeater (filho).

Meu repeater pai contem o código do relatório e demais informações e meu repeater filho contem as datas desse relatório. Quando o usuário clicar em uma determinada data eu preciso pegar esse código do pai e tbem pegar a data para assim fazer o processo. Mas não estou conseguindo fazer nem um e nem outro.

Segue meu html:
<asp:Repeater ID="Repeater1" OnItemDataBound="rptRelatorioFavoritos_ItemDataBound" runat="server">
<HeaderTemplate>
    <table>
        <tr class="titulo">
            <th colspan="4">Favoritos</th>
        </tr>
        <tr>
            <th width="5%" class="td_titulo">Relatório</th>
            <th width="10%" class="td_titulo">Assunto</th>
            <th width="20%" class="td_titulo">Descrição</th>
            <th width="25%" class="td_titulo">Clique na Data Desejada</th>
        </tr>
</HeaderTemplate>
<ItemTemplate>
    <tr class="tr_branco">
        <td class="td_branco">
            <asp:ImageButton CommandArgument='<%#DataBinder.Eval(Container.DataItem, "CodRelatorio")%>' ID="imgbFavorito" ImageUrl="~/Content/imgs/BookDel.gif" OnCommand="imgbFavorito_Command" runat="server" ToolTip="Remover do seus favoritos?" />
              <asp:Label ID="lblCodRelatorio" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "CodRelatorio")%>' />
        </td>
        <td class="td_branco">
            <asp:Label ID="lblAssunto" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "AssuntoRelatorio")%>'></asp:Label>
        </td>
        <td class="td_branco">
            <asp:Label ID="lblDescricao" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DescricaoRelatorio")%>'></asp:Label>
        </td>
        <td class="td_branco">
            <asp:Label ID="lblLocal" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "LojaRelatorio")%>'></asp:Label>

            <asp:Repeater ID="rptRelFilho" OnItemDataBound="rptRelFilho_OnItemDataBound" OnItemCommand="rptRelFilho_OnItemCommand" runat="server">
                <ItemTemplate>
                    <asp:LinkButton ID="lkbDataRelatorio" runat="server"><%#DataBinder.Eval(Container.DataItem, "DataRelatorio")%></asp:LinkButton> 
                </ItemTemplate>
            </asp:Repeater>
            <asp:LinkButton ID="lkbDataRelatorio02" runat="server">...</asp:LinkButton>
        </td>
    </tr>
</ItemTemplate>
<FooterTemplate>
    </table>
</FooterTemplate>


Meu .cs esta assim:
protected void rptRelFilho_OnItemCommand(object source, RepeaterCommandEventArgs e)
    {

        var itensPai = e.Item.Parent.Parent;
        var lblCodRel = (Label)itensPai.FindControl("CodRelatorio");


        var link = (LinkButton)e.Item.FindControl("DataRelatorio");
        string v = link.Text;


    }


Segue a imagem do relatório para vcs terem uma noção do que eu estou tentando fazer.
[img]http://arquivo.devmedia.com.br/forum/imagem/431992-20160225-095511.png[/img]
Luciano Jesus

Luciano Jesus

Curtidas 0
POSTAR