Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774

    Master Page: ContentPlaceHolder o Include?

    ciao a tutti,
    avrei bisogno di creare il layout della mia applicazione in un certo modo e vorrei avere da voi qualche consiglio se possibile.

    Sto cercando di creare una Master Page strutturata (grosso modo) così:
    codice:
    <div id="page_header" />
    
    <div id="page_body">
         <div id="page_left">
             <asp:ContentPlaceHolder id="pageLeft" runat="server" />        
         </div>
         <div id="page_main">
             <asp:ContentPlaceHolder id="pageMain" runat="server" />        
         </div>
    </div>
    
    <div id="page_footer" />

    Tutte le pagine dell'applicazione che andrò a creare devono inseririsi nel ContentPlaceOlder con id="pageMain".

    Nell'altro ContentPlaceHolder ("pageLeft") invece ci andranno una serie di "moduli" di utilità, come ad esempio quello per la ricerca, quello per la modifica della lingua e del fuso orario ecc.... ecc....

    Ora la mia domanda è:
    è possibile far in modo che la Master Page mi valorizzi in automatico il "pageLeft" riempiendolo con il contenuto di una pagina .aspx, senza che sia io a dover riderfinire il suo contenuto in ogni nuova pagina che creo?

    Attualmente infatti se voglio riempire quella parte dell'applicazione devo scrivere il suo codice (valorizzando entrambi i ContentPlaceHolder) all'interno di tutte le pagine che usano quella Master Page, il che è veramente scomodo...

    Non so se esiste il modo di creare un "include" automatica (o qualcosa di simile) ma se poteste aiutarmi a trovare una soluzione ve ne sarei davvero molto grato.

    P.S:
    So che potrei scrivere il codice che mi serve direttamente nella master page ma non mi va l'idea di inserirlo qui. Vorrei che fosse tutto separato e che la MAster Page servisse SOLO per definire la struttra di layout.

    Grazie a tutti
    citrus

  2. #2
    credo che tu possa utilizzare degli usercontrol
    ...NO ONE IS INNOCENT ANYMORE...

  3. #3
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    in che modo?

  4. #4
    ma il contenuto che devi visualizzare all'interno della colonna di sinistra non cambia per tutte le pagine del sito? In questo caso lo scrivi direttamente nella masterpage...
    Altrimenti, devi creare un WebUserControl che ha estensione ascx.
    Fatto ciò, su visual studio lo troverai all'interno della toolbox. Sarà quindi trascinabile all'interno del o del tuo contentplaceholder.

    http://www.dotnetheaven.com/UploadFi...erControl.aspx
    ...NO ONE IS INNOCENT ANYMORE...

  5. #5
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    ciao,
    si il contenuto nella parte sinistra dell'applicazione rimarrà identico per tutte le pagine.
    Non mi va però di scriverlo dirattamente nella Master Page perchè contiene diverse logiche che vorrei tener separate dalla parte di presentazione.
    Oltretutto la parte di sinistra è ulteriormente suddivisa in moduli (un modulo per la ricerca, un modulo per la modifica della lingua, uno per il GMT, ecc...) quindi vorrei scorporarli e inserire il codice di ciascuno in una pagina separata.
    Capite cosa intendo?


    Ora provo la strada degli user controls, anche se onestamente avrei preferito una soluzione più "agile", ad esempio tramite un include o qualcosa del genere.
    Vi farò sapere come va

    per intanto se qualcuno ha altre soluzioni da proporre sarei ben felice di sentirle.
    Grazie mille
    citrus

  6. #6
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    Come non detto, gli user controls sono quello che fa al caso mio, è praticamente come gestire una include solo che in questo caso si possono anche passare dei parametri di configurazione allo user control, il che mi può tornare molto utile.

    Ora però mi sono imbattuto in un nuovo problema (magari aprirò un nuovo topic).

    Ho costruito lo user control che mi fa da motore di ricerca interno all'applicazione.
    Il problema è che nella parte destra è già presente un form, ed il compilatore mi dice che non possono esistere 2 form nella stessa pagina.
    Come posso fare?

    ho comunque bisogno di 2 o più form nella stessa pagina perchè quello di ricerca (sulla sinistra) manda i dati per la query ad una pagina, mentre gli altri form che appariranno sulla destra inviano ad altre pagine.

    Mi sembra assurdo che non si possano avere più form nella stessa pagina, l'importante è che non abbiano stesso ID.
    Forse questo è un problema di .NET (io vengo da Java) ma non posso credere che sia insormontabile.
    Voi come avete risolto?

    Grazie
    citrus

  7. #7
    togli l'attributo runat="server" dal form che effettua la ricerca, dovrebbe bastare
    ...NO ONE IS INNOCENT ANYMORE...

  8. #8
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    no non funziona mannaggia ci avevo già provato...
    mi da errore su tutti i controlli del form che hanno la proprietà runat="server" perchè devono essere contenuti in un form anch'esso con la stessa caratteristica.

    Se tolgo i runat="server" dappertutto poi non ho la possibilità di usare le reference per il multilingua e non posso neppure manipolare i controlli del form lato server...

    altre soluzioni?

  9. #9
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    ma ho sentito dire che questo problema di "più form dentro una singla pagina" era un retaggio del framework 1.1 e che con la versione 2.0 dovrebbe essere stato risolto...

    possibile?
    io uso la 2.0 ma non funziona comunque...
    in ogni caso visto che la discussione si allarga magari apro un nuovo topic che è meglio...
    seguitemi

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 © 2026 vBulletin Solutions, Inc. All rights reserved.