3 messaggi dal 30 luglio 2014
Buongiorno a tutti,
colgo l'occasione per salutarvi in quanto sono nuovo della comunità.

Approfitto per chiedere una cosa sulla quale ho fatto fatica a documentarmi.

La domanda scema è: è possibile aggiungere controlli IF in un body di una pagina aspx?

Grazie in anticipo, vi saluto ancora!!
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao, benvenuto!

Dovresti sempre tenere ben separate la struttura di una pagina dalla sua logica, che appartiene invece al suo codefile (.cs o .vb, a seconda del linguaggio che stai usando).

Ne consegue che l'if non è il caso che si trovi nella pagina. Dunque puoi predisporre un controllo asp:Panel tipo questo, e impostare il suo attributo Visible a false.
<asp:Panel id="pannello" visible="false" runat="server">
   Qui contenuto da mostrare solo in casi particolari
</asp:Panel>

Dato che questo pannello è invisibile, il suo contenuto non apparirà nella pagina. Sarai tu, dal Page_Load o da un qualsiasi gestore evento, a rendere visibile il Panel al verificarsi di una certa condizione.

In questo esempio lo rendo visibile solo di sera, trascorse le ore 20.00 (il criterio può ovviamente essere qualsiasi).
protected void Page_Load(object sender, EventArgs e){
  if (DateTime.Now.Hour >= 20){
     pannello.Visible = true;
  }
}


Se ti occorre qualcosa di un po' più complesso, come per esempio mostrare solo uno tra tante versioni di contenuto disponibili, allora puoi usare il controllo MultiView. Trovi degli esempi su MSDN, verso metà pagina.

http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.multiview(v=vs.110).aspx

ciao,
Moreno

Enjoy learning and just keep making
3 messaggi dal 30 luglio 2014
Tutto chiaro.

Ti ringrazio moltissimo.

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.