Domanda

La domanda era:

  

Ho una pagina in un MOSS 2007   sito di pubblicazione che utilizza un layout   (la pagina eredita da    Microsoft.SharePoint.Publishing.TemplatedRedirectionPage ), e   Ho bisogno di scrivere un codice dietro per questo   pagina, ma lascia comunque il layout   meccanismo di templating funziona.

     

Il mio tentativo è stato quello di scrivere una lezione che   eredita da    Microsoft.SharePoint.Publishing.TemplatedRedirectionPage ,   e quindi modificare la pagina per ereditare   dalla mia classe. La pagina si comporta   normalmente (cioè, ha funzionato come prima),   ma i metodi nel mio codice dietro   la classe non viene chiamata.

     

Qualcuno sa cosa dovrei fare?

Ma a questo punto, sono abbastanza sicuro che non funzionerà. La mia direzione attuale è quella di provare a posizionare un controllo server personalizzato sulla pagina di pubblicazione, ma non riesco nemmeno a farlo funzionare. Non è possibile personalizzare una pagina di pubblicazione se non attraverso il suo layout (che qui non è un'opzione)?

È stato utile?

Soluzione

A quanto pare, il modo più semplice per ottenere ciò che volevo era eliminare un'area web part sul layout di pagina, quindi utilizzare i controlli di modifica di SharePoint per aggiungere il mio controllo (che può essere trasformato in un Web in parte banalmente).

Va ??tutto bene e non ho dovuto fare nulla di strano.

Altri suggerimenti

Ok, ecco come funziona. Credo che tu abbia ottenuto questa classe Microsoft.SharePoint.Publishing.TemplatedRedirectionPage da un file nella cartella Template del sito. Queste pagine sono solo una specie di segnaposti. Le pagine effettive che vengono create nel sito non si basano sulla pagina TemplatedRedirection ma sono dell'istanza del layout di pagina esistente nel sito.

Per risolvere il tuo problema puoi prendere

  1. Personalizza il layout della pagina (Eredita la classe di layout della Pagina di pubblicazione e fai le cose che vuoi) Ma hai detto che non lo vuoi.
  2. Le seconde opzioni disponibili sono la creazione di pagine Ghostable mediante Feature e il loro provisioning sul sito (esiste una differenza tra le pagine Ghostable e le pagine GhostableInLibrary). Il modo in cui questo risolverà i tuoi problemi è che puoi scrivere qualsiasi codice personalizzato / Ereditare da qualsiasi classe desideri e utilizzare una funzione per fornirlo. Un esempio è quello di guardare il file 'C: \ Programmi \ File comuni \ microsoft shared \ Web Server Extensions \ 12 \ TEMPLATE \ SiteTemplates \ sts' e guardare in onet.xml per come viene eseguito il provisioning, C: \ Programmi \ File comuni \ microsoft shared \ Web Server Extensions \ 12 \ TEMPLATE \ SiteTemplates \ sts \ xml \ onet.xml ~ 163 line Number.

Una pagina di pubblicazione è essenzialmente un layout di pagina (modello) che è stato popolato dall'utente finale. La sua logica deriva esclusivamente dai controlli che sono stati aggiunti al layout di pagina. Non ho sentito di ereditare da una classe di pagine di pubblicazione perché non dovrebbe essere necessario: modificare il layout di pagina è il modo di farlo.

Questo non ti aiuta davvero se non riesci a modificare il layout della pagina (c'è qualche motivo?). Non sono sicuro di quale funzionalità stai tentando di aggiungere alla pagina, ma ecco alcune idee:

  • Crea un nuovo layout di pagina contenente un controllo personalizzato con le funzionalità di cui hai bisogno e crea una pagina di pubblicazione basata su quello.
  • Se hai già controlli personalizzati utilizzati nel layout di pagina, modificali per fornire la funzionalità richiesta.
  • Esamina controlli delegato e vedi se funzioneranno per te .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top