41 messaggi dal 28 gennaio 2003
Salve (sono elemento molto beginner)
uso mysql come database e dopo aver effettuato una select per leggere le categorie principali ne faccio un altra per leggere le categorie secondarie per ogni categoria principale..ma come faccio a passargli il parametro alla select 2 where id categoria principale = a un parametro passato dalla select 1??


<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:tauclimaConnectionString %>"
SelectCommand="SELECT * FROM categorie_principali " ProviderName="<%$ ConnectionStrings:tauclimaConnectionString.ProviderName %>" />
<asp:DataList ID="DataList1" runat="server" DataKeyField="id_area" DataSourceID="SqlDataSource1" Width="100%" RepeatColumns="1" ShowFooter="False" ShowHeader="False" Font-Bold="False" EditItemIndex="0" SelectedIndex="0" RepeatLayout="Flow" Font-Overline="False" Font-Strikeout="False">
<ItemTemplate >
<dt class="a-m-t" id="foo-<%#Eval("id_area")%>"><%#Eval("titolo_area")%></dt>
<dd class="a-m-d">
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:tauclimaConnectionString %>"
SelectCommand="SELECT DISTINCT id_area_secondaria, titolo_area_secondaria, id_categorie_principali FROM categorie_secondarie WHERE id_categorie_principali =<%#Eval("id_area")%>" ProviderName="<%$ ConnectionStrings:tauclimaConnectionString.ProviderName %>" />

<asp:Repeater runat="server" DataSourceID="SqlDataSource2">
<ItemTemplate><li><a href="prodotti2.aspx?id_cat_secondaria=<%#Eval("id_area_secondaria")%>"><%# DataBinder.Eval(Container.DataItem, "titolo_area_secondaria")%></a></li></ItemTemplate></asp:Repeater></dd>
</ItemTemplate>
<FooterTemplate></dl></FooterTemplate>
</asp:DataList>
710 messaggi dal 13 novembre 2008
Contributi
nell'sqlDataSource2 devi usare un parametro

<SelectParameters>
<asp:ControlParameter Name="xxx"
ControlID="DataList1"
PropertyName="SelectedValue"/>
</SelectParameters>

mettendo WHERE id_categorie_principali@xxx

questo funziona alla selezione di qualcosa nel DataList

però sarebbe meglio imparare a sviluppare ciò che vuoi nel code behind, perchè se aumenterai di un poco la complessità di questa form, a breve non ci capirai più nulla...
41 messaggi dal 28 gennaio 2003
Mi sembra che @ nel MYSQL sia sostituito con ? ma non va lo stesso..
dal datalist non viene selezionato niente ma il valore proviene da un ciclo ... help me please
Ciao,

secondo me stai sbagliando approccio, perchè al di là del tuo problema tecnico, ti ritrovi a fare una marea di select verso il database, mentre in realtà potresti recuperare tutti i dati da subito ad esempio con una Join.

Fossi in te farei un bell'oggetto "CategoriaPrincipale" che magari contiene una List<CategorieSecondaria> che puoi popolare a partire da una query unica e poi mostrare in pagina semplicemente utilizzando gli oggetti nel binding. Ad esempio, con due repeater innestati:
<asp:Repeater runat="server" ID="rptMain">
    <ItemTemplate>
        Descrizione:
        <%# Eval("Descrizione") %>
        <div style="margin: 5px">
            <asp:Repeater runat="server" ID="rptSub" DataSource="<%# ((Categoria)Container.DataItem).SottoCategorie %>">
                <ItemTemplate>
                    <div>
                        Descrizione:
                        <%# Eval("Descrizione") %>
                    </div>
                </ItemTemplate>
            </asp:Repeater>
        </div>
    </ItemTemplate>
</asp:Repeater>

Ciao,
m.
Cradle ha scritto:
Ciao,

secondo me stai sbagliando approccio, perchè al di là del tuo problema tecnico, ti ritrovi a fare una marea di select verso il database, mentre in realtà potresti recuperare tutti i dati da subito ad esempio con una Join.

Fossi in te farei un bell'oggetto "CategoriaPrincipale" che magari contiene una List<CategorieSecondaria> che puoi popolare a partire da una query unica e poi mostrare in pagina semplicemente utilizzando gli oggetti nel binding. Ad esempio, con due repeater innestati:
<asp:Repeater runat="server" ID="rptMain">
    <ItemTemplate>
        Descrizione:
        <%# Eval("Descrizione") %>
        <div style="margin: 5px">
            <asp:Repeater runat="server" ID="rptSub" DataSource="<%# ((Categoria)Container.DataItem).SottoCategorie %>">
                <ItemTemplate>
                    <div>
                        Descrizione:
                        <%# Eval("Descrizione") %>
                    </div>
                </ItemTemplate>
            </asp:Repeater>
        </div>
    </ItemTemplate>
</asp:Repeater>

Ciao,
m.

Ciao, ti posto anche un esempio di come strutturare una select con Join:
SELECT Comuni.Descrizione, Comuni.[Note], Province.Descrizione AS [Descrizione Provincia] FROM (Comuni INNER JOIN Province ON Comuni.IDProvincia = Province.IDProvincia)



In pratica ho due tabelle (comuni e prvincie) nella select non faccio altro che dichiarare da quale tabella prendere le info e quale campo in questo modo nomeTabella.NomeCampo e poi creo la relazione con l'inner Join della tabella comuni verso la tabella province e quali sono i campi interessati nella relazione (Comuni.IDProvincia = Province.IDProvincia)

Mi rendo conto di averlo scritto un po verboso, se hai qualche dubbio scrivi pure...

ciao!

Creazione Siti Vicenza
Posizionamento Siti - SEO
1 messaggio dal 01 luglio 2011
salve, è possibile avere un esempio finito che recuperi tutti i dati da un datalist e li inserisca in un db mysql nei relativi campi assegnati?

N.B. ho trovato tanti esempi ma sono tutti con l'evento associato al singolo elemento datalist..

grazie per la disponibilità

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.