Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    paginazione catagoria e prodotti

    salve a tutti ..... dopo mesi di assenza.

    avrei bisogno di un suggerimento ..... e magari un esempio pratico

    devo visualizzare prelevando i dati da un db sql le categorie e subito dopo visualizzare tutti i prodotti associati.

    ES:

    CATEGORIA1 "DataList" Verticale
    A - B - C - D - E "Repeater" orizzontale

    CATEGORIA2
    A - C - F - R - T - Z

    Pensavo di utilizzare un Datalist e poi un repeater ma non funziona.

    grazie per i suggerimenti

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    beh, devi passare al repeater l'ID della categoria selezionata.

    come lo effettui ?

  3. #3
    il problema è che non ho effettivamente idea di come fare....hai qualche suggerimento, per farmi ottenre quello che vorei ?

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    non è una cosa molto complicata e dovresti cercare di far tuo questo meccanismo.

    Questa è una base da cui partire. Per comodità ho usate un ObjectDataSource e una classe per avere i Dati ma ovviamente puoi usare un SqlDataSource o un altro meccanismo a tua scelta.

    codice:
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
            SelectMethod="ElencoCategorie" TypeName="WebApplication1.DataService">
        </asp:ObjectDataSource>
        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
            <HeaderTemplate>
                <h1>Elenco Prodotti</h1>
            </HeaderTemplate>
            <ItemTemplate>
                <asp:Label runat="server" ID="Label1" Text='<%# Eval("NomeCategoria") %>'></asp:Label>
    
                <asp:ObjectDataSource ID="ObjectDataSource2" runat="server" 
                    SelectMethod="ElencoByCat" TypeName="WebApplication1.DataService">
                    <SelectParameters>
                        <asp:ControlParameter Name="nomeCat" ControlID="Label1" PropertyName="Text" />
                    </SelectParameters>
                </asp:ObjectDataSource>
                <asp:Repeater ID="Repeater2" runat="server" DataSourceID="ObjectDataSource2">
                    <ItemTemplate>
                        
    
    <%# Eval("NomeProdotto") %></p>
                    </ItemTemplate>
                </asp:Repeater>
            </ItemTemplate>
        </asp:Repeater>

    questo è il code behind ma è specifico di questo esempio. Quello che ti interessa è il codice sopra.
    codice:
    public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
        }
    
        public class Categoria
        {
            public string NomeCategoria { get; set; }
            public List<Prodotto> Prodotti { get; set; }
    
            public Categoria()
            {
                Prodotti = new List<Prodotto>();
            }
        }
    
        public class Prodotto
        {
            public string NomeProdotto { get; set; }
        }
    
        public class DataService
        {
            private List<Categoria> elenco;
    
            public DataService()
            {
                elenco = new List<Categoria>
                {
                    new Categoria { NomeCategoria = "Categoria 1", Prodotti = new List<Prodotto> { new Prodotto {NomeProdotto = "Prodotto 1" }, new Prodotto {NomeProdotto = "Prodotto 2" } } },
                    new Categoria { NomeCategoria = "Categoria 2", Prodotti = new List<Prodotto> { new Prodotto {NomeProdotto = "Prodotto 3" }, new Prodotto {NomeProdotto = "Prodotto 4" } } },
                    new Categoria { NomeCategoria = "Categoria 3", Prodotti = new List<Prodotto> { new Prodotto {NomeProdotto = "Prodotto 5" }, new Prodotto {NomeProdotto = "Prodotto 6" } } },
                    new Categoria { NomeCategoria = "Categoria 4", Prodotti = new List<Prodotto> { new Prodotto {NomeProdotto = "Prodotto 7" }, new Prodotto {NomeProdotto = "Prodotto 8" } } },
                };
            }
    
            public List<Categoria> ElencoCategorie()
            {
                return elenco;
            }
    
            public List<Prodotto> ElencoByCat(string nomeCat)
            {
                var cat = elenco.FirstOrDefault(c => c.NomeCategoria.Equals(nomeCat));
    
                if (cat != null)
                    return cat.Prodotti;
                else
                    return null;
            }
        }

  5. #5
    Grazie adessoi ci provo.....
    trasformo il tutto in vb e ti faccio sapere

  6. #6
    Scrivo questo ma non funziona



    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="RepeaterDataSource1">
    <ItemTemplate>
    <%# Eval("idRoom") %>

    <asp:Repeater ID="Repeater2" runat="server">

    </asp:Repeater>
    <aspataList runat="server" DataSourceID="DataListDataSource1" >
    <ItemTemplate>
    <%# Eval("idRoom") %>
    </ItemTemplate>
    </aspataList>
    <asp:SqlDataSource ID="DataListDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:besConnectionString %>"
    SelectCommand="SELECT * FROM [ListinoCamere] WHERE ([idRoom] = @idRoom)">
    <SelectParameters>
    <asp:Parameter Name="idRoom" Type="Int32" />
    </SelectParameters>
    </asp:SqlDataSource>

    </ItemTemplate>
    </asp:Repeater>
    <asp:SqlDataSource ID="RepeaterDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:besConnectionString %>"
    SelectCommand="SELECT * FROM [VRoomCategory]">
    </asp:SqlDataSource>

  7. #7
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    Per favore metti il codice dntro i tag cosi si capisce meglio.

    il markup che hai postato contiene errori: chiudi prematuramente l'itemtemplate (per poi chiuderlo una seconda volta). Inoltre il parametro dell datasource interno faresti meglio a prenderlo da qualche parte per esempio un controllo (anche un Hiddenfiled) che contiene l'ID della categoria.

  8. #8
    provo a correggere gli errori che mi hai suggerito......


    codice:
    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="RepeaterDataSource1">         <ItemTemplate>         <%# Eval("idRoom") %>              <asp:Repeater ID="Repeater2" runat="server">              </asp:Repeater>             <asp:DataList runat="server" DataSourceID="DataListDataSource1" >             <ItemTemplate>             <%# Eval("idRoom") %>             </ItemTemplate>             </asp:DataList>             <asp:SqlDataSource ID="DataListDataSource1" runat="server"                 ConnectionString="<%$ ConnectionStrings:besConnectionString %>"                  SelectCommand="SELECT * FROM [ListinoCamere] WHERE ([idRoom] = @idRoom)">             <SelectParameters>                 <asp:Parameter Name="idRoom" Type="Int32" />             </SelectParameters>             </asp:SqlDataSource>                              </ItemTemplate>         </asp:Repeater>         <asp:SqlDataSource ID="RepeaterDataSource1" runat="server"              ConnectionString="<%$ ConnectionStrings:besConnectionString %>"              SelectCommand="SELECT * FROM [VRoomCategory]">             </asp:SqlDataSource>

  9. #9
    non ci rusciro mai.......

  10. #10
    cosi funziona pero se al posto della BulletList volessi mettere una tabella non funziona ...

    codice:
    <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1">             <ItemTemplate>  idRoom:  <asp:Label ID="idRoomLabel" runat="server" Text='<%# Eval("nomeCamera") %>' />                 
    
                     
    <asp:BulletedList ID="BulletedList1" runat="server"                      DataSourceID="bulletListDataSource" DataTextField="cCamera"                      DataValueField="cCamera">                
    </asp:BulletedList>
    <asp:SqlDataSource ID="bulletListDataSource" runat="server"                      ConnectionString="<%$ ConnectionStrings:besConnectionString %>"                      SelectCommand="SELECT * FROM [VListino] WHERE ([idRoom] = @idRoom)">                     <SelectParameters>                        
    <asp:Parameter Name="idRoom" Type="Int32" />                     
    </SelectParameters>                 
    </asp:SqlDataSource>                 
    
                 
    </ItemTemplate>         
    </asp:DataList>         
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"              ConnectionString="<%$ ConnectionStrings:besConnectionString %>"              SelectCommand="SELECT * FROM [VRoomCategory]">         
    </asp:SqlDataSource>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.