none
Row de bootstrap dentro de repeater RRS feed

  • Pregunta

  • Saludos, a grandes rasgos tengo lo siguiente:

    pero lo que necesito e
    <asp:Repeater ID="rptFotoProducto" runat="server" OnItemDataBound="rptFotoProducto_ItemDataBound">
                             <ItemTemplate>
                                 <div class="col-md-3 container_albums">
                                     <img class="img-responsive" src="../Albums/<%#id_album_general %>/<%#Eval("ruta_fotografia") %>" />
                                     <asp:LinkButton ID="btnEliminarFoto" runat="server" CssClass="text-center" CommandArgument='<%#Eval("id_fotografia")  + ";" +Eval("ruta_fotografia")%>' CommandName="eliminar_foto" OnCommand="btnEliminarFoto_Command" OnClientClick='return confirm("¿Estás seguro de querer borrar esta foto?")'>Eliminar</asp:LinkButton>
                                 </div>
                             </ItemTemplate>
                         </asp:Repeater>

    s que cada 4 registros, se genere un nuevo <div class="row">  dentro del item template para que la galería de fotos se muestre ordenada, es posible? saludos y gracias

    domingo, 28 de junio de 2015 18:38

Respuestas

  • Ya pude xD

     <asp:Repeater ID="rptFotoProducto" runat="server" OnItemDataBound="rptFotoProducto_ItemDataBound" OnPreRender="rptFotoProducto_PreRender">
                             <ItemTemplate>
                                 <asp:Literal ID="ltrow" runat="server"></asp:Literal>
                                 <div class="col-md-3">
                                     <img class="img-responsive" src="../Albums/<%#id_album_general %>/<%#Eval("ruta_fotografia") %>" />
                                     <asp:LinkButton ID="btnEliminarFoto" runat="server" CssClass="text-center" CommandArgument='<%#Eval("id_fotografia")  + ";" +Eval("ruta_fotografia")%>' CommandName="eliminar_foto" OnCommand="btnEliminarFoto_Command" OnClientClick='return confirm("¿Estás seguro de querer borrar esta foto?")'>Eliminar</asp:LinkButton>
                                 </div>
                                 <asp:Literal ID="ltrowc" runat="server"></asp:Literal>
                             </ItemTemplate>
                         </asp:Repeater>

    así quedó mi html y mi code behind así:

    protected void rptFotoProducto_PreRender(object sender, EventArgs e)
            {
                int abre = 0;
                for (int i = 0; i < rptFotoProducto.Items.Count; i++)
                {
                    
                    Literal ltDivPrefix = (Literal)rptFotoProducto.Items[i].FindControl("ltrow");
                    Literal ltDivSuffix = (Literal)rptFotoProducto.Items[i].FindControl("ltrowc");
                   
                    if (i == 0 || i == abre)
                    {
                        abre = i + 4;
                        ltDivPrefix.Text = @"<div class=""row"">";
                    }
    
                    if (i == 3 || i==(abre-1))
                    {
                        ltDivSuffix.Text = "</div>";
                    }
                }
            }

    • Marcado como respuesta FerchoMcfly domingo, 28 de junio de 2015 19:08
    domingo, 28 de junio de 2015 19:07