Modificare menu in base alla sessione
stuzzo non è online. Ultima attività: 05/08/2008 14.18.34stuzzo
Inserito il: 04 luglio 2008 17.21
18 messaggi dal 04 lug 2008 Istalla Microsoft Silverlight!
Salve a tutti!
ho un problemino da cui non riesco ad uscire......o forse non mi rendo conto di cosa devo fare :)
Sto creandomi un sito che ha sulla sinistra un menù. Questo menù in base se si è loggati o meno deve cambiare o meglio se si è loggati questo menù viene arricchito di altre voci, ma il resto è tutto uguale.
Adesso cosa mi consigliate di fare??
Visto che si trova all'interno di un content placeholder:
- dovrei soltanto rendere invisibili le voci e nel caso si è loggati renderle visibili? oppure
- dire al content di andarsi a caricare un altro menù? oppure
- crearmi un menù dinamico che se si è loggati aggiunge delle voci? (questa mi sembra più sensata, ma non ho idea di come fare)

Vi ringrazio anticipatamente di tutto!
Microsoft Most Valuable Professional
RE: Modificare menu in base alla sessione
nostromo non è online. Ultima attività: 05/09/2008 12.07.05nostromo
Inserito il: 04 luglio 2008 18.39
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12049 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
io andrei a caricare un menu differente a seconda della bisogna :D

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Modificare menu in base alla sessione
stuzzo non è online. Ultima attività: 05/08/2008 14.18.34stuzzo
Inserito il: 07 luglio 2008 10.22
18 messaggi dal 04 lug 2008 Istalla Microsoft Silverlight!
Ok, diciamo che io pure voglio fare così...ho messo il menù dentro un contentplaceholder, adesso come faccio per verificare una determinata condizione?
- io stavo pensando a scrivere
if(Session["utente"]!=null)
{
carica il primo menù
}
else
{
carica il secondo menù
}
Ma come dovrei implementarlo il caricamento? ocme faccio a dire che deve andare a prendersi una determinata pagina?
grazie!
Microsoft Most Valuable Professional
RE: Modificare menu in base alla sessione
nostromo non è online. Ultima attività: 05/09/2008 12.07.05nostromo
Inserito il: 07 luglio 2008 11.10
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12049 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
dividi i tuoi menu in UserControl, dopodichè utilizzando il metodo LoadControl della pagina puoi caricarlo e inserirlo in una Placeholder

ciao marco

Modificato da nostromo il 07 luglio 2008 11.10 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Modificare menu in base alla sessione
stuzzo non è online. Ultima attività: 05/08/2008 14.18.34stuzzo
Inserito il: 07 luglio 2008 11.51
18 messaggi dal 04 lug 2008 Istalla Microsoft Silverlight!
nostromo ha scritto:
dividi i tuoi menu in UserControl, dopodichè utilizzando il metodo LoadControl della pagina puoi caricarlo e inserirlo in una Placeholder

ciao marco

Modificato da nostromo il 07 luglio 2008 11.10 -


Ciao marco,
grazie di tutto, ma per favore dammi ancora una mano :)
Ho visto come creare UserControl e dal tuo precedente messaggio riempio i miei if con deu loadControl("qualcosa"). Il problema è nelle pagine aspx, dove all'inizio dovrei dichiarare la presenza dei tag da riconoscere. Come faccio a distinguere, p.e. nell'homepage, come dichiarare i tag?

<%@ Register TagPrefix="iMenu" TagName="Menu" Src="~/Menu.ascx" %> // per farti capire meglio...Come faccio a dirgli che se invece sta loggato deve caricare MenuLoggato.ascx?
Microsoft Most Valuable Professional
RE: Modificare menu in base alla sessione
nostromo non è online. Ultima attività: 05/09/2008 12.07.05nostromo
Inserito il: 07 luglio 2008 12.07
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12049 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
devi registrare tutti e due i controlli, poi da codice fai una cosa del genere

if(Session["utente"]!=null)
{
myControlPlaceHolder.Controls.Add(Page.LoadControl("~/PrivateMenu.ascx));
}
else
{
myControlPlaceHolder.Controls.Add(Page.LoadControl("~/Menu.ascx));
}


myControlPlaceHolder è un PlaceHolder che devi inserire nella pagina, esattamente nella posizione che vuoi siano visualizzati i menu

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Modificare menu in base alla sessione
stuzzo non è online. Ultima attività: 05/08/2008 14.18.34stuzzo
Inserito il: 07 luglio 2008 12.19
18 messaggi dal 04 lug 2008 Istalla Microsoft Silverlight!
nostromo ha scritto:
devi registrare tutti e due i controlli, poi da codice fai una cosa del genere

if(Session["utente"]!=null)
{
myControlPlaceHolder.Controls.Add(Page.LoadControl("~/PrivateMenu.ascx));
}
else
{
myControlPlaceHolder.Controls.Add(Page.LoadControl("~/Menu.ascx));
}


myControlPlaceHolder è un PlaceHolder che devi inserire nella pagina, esattamente nella posizione che vuoi siano visualizzati i menu

ciao marco


ok,
quest'ultimo pezzo di codice devo inserirlo all'interno del file user.ascx, mentre nella masterpage ho creato una cosa del genere
<%@ Register TagPrefix="iMenu" TagName="Menu" Src="~/MenuNormale.ascx" %> //per dichiarare il tag
<asp:ContentPlaceHolder runat="server" ID="cphMenu">
<iMenu:Menu ID="Menu" runat="server" />
</asp:ContentPlaceHolder>


Quindi:
if(Session["utente"]!=null)
{
cphMenu.Controls.Add(Page.LoadControl("~/PrivateMenu.ascx));
}
else
{
cphMenu.Controls.Add(Page.LoadControl("~/Menu.ascx));
}

2 domande:
- cosa intendi per registrare i controlli?
- perchè attualmente nel file .ascx non mi riconosce cphMenu?

perdona la mia ignoranza......:)
grazie!!!
Microsoft Most Valuable Professional
RE: Modificare menu in base alla sessione
nostromo non è online. Ultima attività: 05/09/2008 12.07.05nostromo
Inserito il: 07 luglio 2008 14.00
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 12049 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
no il codice che ti ho postato deve stare nella pagina, e questo è anche il motivo per cui non ti trova, cphMenu devi anche togliere il controllo <iMenu:Menu ID="Menu" runat="server" />. per registrare intendo

<%@ Register TagPrefix="iMenu" TagName="Menu" Src="~/MenuNormale.ascx" %>

devi registrare tutte e due le versioni del controllo sia pubblico che privato

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx


Pagine: [1] 2 3 Avanti >>
Vai a:
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.


maltra - 701 pt
vladimiro - 471 pt
fabrica - 180 pt

Ultimi vincitori: fabrica, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums