59 messaggi dal 27 ottobre 2009
Ciao a tutti,
ho una barra di navigazione orizzontale le cui voci vengono prese da DB Access, e ciclate con un controllo Repeater. La grafica è gestita con un CSS.

Ora vorrei implementare la stessa barra di navigazione con un sottomenu.

Repeater:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource2">
    <ItemTemplate>
        <ul>
            <li>
                <asp:HyperLink ID="HyperLink1" NavigateUrl='<%# Eval("links")%>' Text='<%# Eval("name")%>'
                    ToolTip='<%# Eval("name")%>' runat="server"></asp:HyperLink>
            </li>
        </ul>
    </ItemTemplate>
</asp:Repeater>


Si può fare?

Grazie.
cioè un sottomenù per ogni voce del menù principale?


<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource2">
<ItemTemplate>
<ul>
<li>
<asp:HyperLink ID="HyperLink1" NavigateUrl='<%# Eval("links")%>' Text='<%# Eval("name")%>'
ToolTip='<%# Eval("name")%>' runat="server"></asp:HyperLink>


<ul>
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<li>
<asp:HyperLink ID="HyperLink2"...></asp:HyperLink>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>



</li>
</ul>
</ItemTemplate>
</asp:Repeater>

il datasource del secondo repeater deve prelevare i dati a seconda dell'id del primo
Modificato da teo prome il 18 marzo 2011 11.23 -
59 messaggi dal 27 ottobre 2009
Ciao teo prome e grazie per la risposta.
Non per ogni voce, ma un sottomenu solo per una voce.
59 messaggi dal 27 ottobre 2009
In altre parole, vorrei che il Repeater2 (sottomenu) fosse collegato ad una voce specifica del Repeater1 (menu principale).
59 messaggi dal 27 ottobre 2009
Ho risolto tenendo un solo DataSource, inserendo due HyperLink e due colonne nella tbl per i due submenu.
Grazie.
59 messaggi dal 27 ottobre 2009
Ciao a tutti e scusate se ritorno sull'argomento, ma la soluzione che ho trovato non mi soddisfa pienamente.

Ora prelevo da un'unica colonna le voci di menu e sottomenu, con due select e due repeater.


SelectCommand="SELECT * FROM [Menu]  WHERE ([lang] = ? AND [type] ='topmenu') ORDER BY [idPage]">

SelectCommand="SELECT * FROM [Menu]  WHERE ([lang] = ? AND [type] ='submenu') ORDER BY [idPage]">




<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource1">
    <ItemTemplate>
        <ul class="index<%#Container.ItemIndex %>">
            <li>
                <asp:HyperLink ID="HyperLink1" NavigateUrl='<%# Eval("links")%>' Text='<%# Eval("name")%>'
                    ToolTip='<%# Eval("name")%>' runat="server"></asp:HyperLink>
                <ul>
                    <li>
                        <asp:Repeater ID="Repeater2" runat="server" DataSourceID="AccessDataSource2">
                            <ItemTemplate>
                                <asp:HyperLink ID="HyperLink2" NavigateUrl='<%# Container.DataItem %>' Text='<%# Eval("name")%>'
                                    ToolTip='<%# Eval("name")%>' runat="server"></asp:HyperLink>
                            </ItemTemplate>
                        </asp:Repeater>
                    </li>
                </ul>
            </li>
        </ul>
    </ItemTemplate>
</asp:Repeater>



Vorrei invece prelevare tutte le voci con un'unica select:


SelectCommand="SELECT * FROM [Menu]  WHERE ([lang] = ? AND [type] IN ('topmenu', 'submenu')) ORDER BY [idPage]">



e un solo repeater. Quindi separarle in 'topmenu' e 'submenu'.

Grazie.

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.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC