MasterPage con pià ContentPlaceHolder

mercoledì 13 dicembre 2006 - 16.41

fc3186 Profilo | Newbie

Salve a tutti!
Ho un quesito da porvi ...
Migrando da poco da PHP ad ASP. NET 2.0, ho scoperto la funzionalità della coerenza dell'aspetto mediante l'uso dei MasterPage.
Ho però un problema ... vorrei realizzare un sito coerente nell'aspetto ove ci siano due ContentPlaceHolder cioè un MasterMenu e un MasterContent;

Vorrei però poter separare il codice da inserire in questi due contenitore in due differenti file aspx, riuscendo a caricarli insieme.
Infatti se in VS2005 aggiungo una nuova pagina contenuto, questa ha gia al suo interno i riferimenti per i due ContentPlaceHorder ... io vorrei che non avvenisse questo ... vorrei che venissero caricati i due file aspx il cui contenuto vada a puntare ai rispettivi ContentPlaceHolder. E' possibile tutto ciò???

Scusate se è poco chiaro ... magari fatemi domande e io vi rispondo! ;)

freeteo Profilo | Guru

ciao,
quello che dici tu, si puo' fare facilmente usando i frame classici, dove gli dici i 2 url sorgenti da visualizzare.
Ma questo seppur fattibile, ti fa perdere la bellezza e la compatibilita' che ti da asp.net 2.0, proprio con master page.

Io piuttoso farei 2 controlli web se vuoi riciclare oggetti facilmente,sono fatti apposta.Cosi' ti bastera' trascinarli sulle pagine che ti interessano senza dover riscrivere sempre la stessa cosa...

Cmq sia, tu proviendo da php probabilmente non hai ancora familiarita' con asp.net, quindi ti do qualche link introduttivo interessante per capire le potenzialita' della piattaforma:
http://quickstarts.asp.net/QuickStartv20/aspnet/Default.aspx
http://msdn2.microsoft.com/it-it/library/ms178463(VS.80).aspx
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

fc3186 Profilo | Newbie

per controlli web cosa intendi?

freeteo Profilo | Guru

ciao,
intendo webcontrol, ovvero su visual studio aggiungi un nuovo elelmento e gli dici che quello che ti interessa è un Webcontrol.
Cosi' facendo hai 1 componente portabile tramite Drag&Drop su tutte le form che vuoi, che genera l'html che ti interessa,con il codice c# che ti interessa.
Il tutto ovviamente ti semplifica perche' puoi fare tutto il codice che vuoi, settarti proprieta' etc...quasi come fosse un OCX per le pagine web, anzi diciamo pure che il concetto è praticamente lo stesso...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

fc3186 Profilo | Newbie

l'utilizzo dei webcontrol mi suona mooooolto utile, però mettiamo il caso che un giorno volessi poter aggiornare quel determinato webcontrol. Dovrei modificarlo e poi reinserirlo sulla pagina giusto? se io invece non volessi toccare per niente la pagina ... ponendo il caso che non ne ho i diritti di accesso ... come si potrebbe fare? Scusate se faccio l'esempio in PHP ma è quello che conosco; in PHP facevo un file esterno indipendente ... nel caso di un update/modifica andavo ad editare solo quel file senza intaccare il contenuto della pagina ove veniva richiamato. Se volessi fare la medesima cosa utilizzando gli strumenti di ASP .NET 2.0 come potrei agire? I webcontrolo permettono tutto cio? Grazie e scusate se vi assillo!

freeteo Profilo | Guru

>l'utilizzo dei webcontrol mi suona mooooolto utile, però mettiamo
>il caso che un giorno volessi poter aggiornare quel determinato
>webcontrol. Dovrei modificarlo e poi reinserirlo sulla pagina
>giusto?
il webcontrol di fatto è proprio un file a se stante, e quindi puoi sovrasciverlo tranquillamente inquanto è indipendentemente dalla pagina.
L'unica cosa che devi fare è tenere il codice c# nello stesso file, altrimenti viene compilato e quindi finisce dentro la directory bin, perche' a differenza di php il codice non è "mischiato" all'html, è separato e se usi anche un file separato, poi lui lo compila.
Se invece come ti dicevo stai attento a tenerlo nella pagina (quindi quando aggiungi il webcontrol da visual studio NON flagghi "codice in file separato") puoi tranquillamente sovrascivere il file intero, e quindi oltre all'html differente ti troverai codice differente.

Adesso non mi è chiara il quadro complessivo, quindi questa soluzione (che funziona bene) potrebbe non essere la migliore,perche' magari con fogli di stile, temi o altro di asp.net potresti farlo piu' elegantemente...pero' ovviamente mi limito a rispondere alle tue esigenze...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5