23 messaggi dal 27 gennaio 2006
Esiste un modo per creare le master pages anche su aspnet 1.x ?

fruga nel Lab le dovresti trovare :)

ciao marco

p.s. se non le trovi ti poss il link

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

http://nostromo.spaces.live.com/default.aspx
1.505 messaggi dal 27 dicembre 2005
dovresti ricorrere agli user control...un po rognoso.
Nel lab abbiamo inserito una soluzione a cura di Daniele:
http://lab.aspitalia.com/13/ASPItaliaMaster093.aspx

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
23 messaggi dal 27 gennaio 2006
Grazie per il link. Ho dato un occhiata e mi servirebbe capire come utilizzare la master page per una mia pagina aspx.
Sicuramente andrò a modificare la master secondo le mie esigenze ma una volta fatto ciò come la carico sulle mie pagine ?

Per dirla tutta la mia esigenza è quella di utilizzare una pagina preformattata (html) da un'altra applicazione come master page. Naturalmente la preformattazione deve essere fatta ad hoc con i placeholder opportuni. Poi dovrei riuscire a caricarla in una pagina aspx con un meccanismo simile a quello delle master pages.

Un pò contorto lo so ...

Grazie.
Come vedi nell'esempio che hai scaricato, le pagine non derivano direttamente da Page, ma da Master (che comunque deriva da Page).

La classe Master esegue l'override del metodo di rendering della pagina in questo modo:

protected override void Render(HtmlTextWriter writer)
{
      this.LoadFromConfigFile();
      this.master = this.Page.LoadControl(this.MasterPageFile);
      Type type1 = new PlaceHolder().GetType();
      for (int num1 = 0; num1 <= (this.Page.Controls.Count - 1); num1++)
      {
            if (this.Page.Controls[num1].GetType() == type1)
            {
                  this.CheckControl((PlaceHolder) this.Page.Controls[num1], this.Page.Controls[num1].ID);
            }
      }
      this.Page.Controls.Clear();
      this.Page.Controls.AddAt(0, this.master);
      base.Render(writer);
}


MasterPageFile contiene il percorso dello user control master da caricare tramite il metodo LoadControl() della pagina in funzione di quanto indicato nella sezione di configurazione presente nel web.config:

<masterPages>
<settings>
<add key="MasterPageFile" value="~/master_blue.ascx" />
<add key="red.aspx" value="~/master_red.ascx" />
</settings>
</masterPages>


Come vedi, è possibile specificare la master anche per una specifica pagina.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
23 messaggi dal 27 gennaio 2006
OK in qualche modo sono riuscito a farla funzionare ...
utilizzo un "datagrid" all'interno di un placeholder della mia master page. Però ora il meccanismo di paging del datagrid non funziona più in quanto al click sul link nextPage viene visualizzato la stessa pagina. Forse devo aggiungere un istruzione sull'override di Render per far aggiornare la pagina?



Non ho ben capito che cosa avviene quando clicchi sul pager della griglia. Puoi essere più chiaro e completo nella tua spiegazione, per cortesia?

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it

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.