Pergunta

A pergunta era:

Eu tenho uma página em um MOSS 2007 publicação de site que utiliza um layout (as herda página de Microsoft.SharePoint.Publishing.TemplatedRedirectionPage), e Eu preciso escrever um codebehind para este página, mas ainda deixar o layout templates trabalho mecanismo.

A minha tentativa foi a de escrever uma classe que herda de Microsoft.SharePoint.Publishing.TemplatedRedirectionPage, e, em seguida, alterar a página para herdar de minha classe. Os comporta página normalmente (isto é, que funcionou como antes), mas os métodos em meu traseiro código classe não são chamados.

Alguém sabe o que eu deveria estar fazendo?

Mas neste momento, eu tenho certeza que ele não vai funcionar. Minha direção atual é tentar colocar um controle de servidor personalizado na página de publicação, mas eu não consigo obter que trabalhar tanto. É simplesmente não é possível personalizar uma página de publicação senão por seu layout (que não é uma opção aqui)?

Foi útil?

Solução

Como se vê, a maneira mais simples e direta para realizar o que eu queria era cair uma zona de peças Web no layout de página, e depois usar o SharePoint edição de controles para adicionar meu controle (que pode ser feita em um web parte trivialmente).

Tudo está bem, e eu não tenho que fazer nada estranho.

Outras dicas

Ok, aqui é assim que funciona. Eu acredito que você tem esse Microsoft.SharePoint.Publishing.TemplatedRedirectionPage classe a partir de um arquivo na pasta de modelo do site. Estas páginas são apenas um tipo de suportes do lugar. páginas reais que são criadas no site não são baseados no TemplatedRedirectionpage mas são da Instância do layout da página que existe no site.

Para resolver o problema que você pode tomar

  1. Personalizar o layout da página (Herdar a classe e layout Publishing Páginas fazer as coisas que você quer) Mas você disse que não quero isso.
  2. Opções avaliable segunda é criar um páginas Ghostable usando o recurso e provisão los para o site (há uma diferença entre Ghostable páginas e páginas GhostableInLibrary). Como isso vai resolver que você emite é que você pode escrever qualquer código personalizado / Herdar de qualquer classe que você quer e usar um recurso da disposição dele. Um exemplo para isso é olhar para o arquivo 'C: \ Program Files \ Common Files \ Microsoft Shared \ Web Server Extensions \ 12 \ TEMPLATE \ SiteTemplates \ STS' e olhar para o Onet.xml de como ele é provisionado, C: \ Arquivos de programas \ Arquivos comuns \ Microsoft Shared Extensions Server \ web \ 12 \ TEMPLATE \ SiteTemplates \ STS \ xml \ Onet.xml ~ 163 número da linha.

A página de publicação é essencialmente um layout de página (modelo) que foi preenchido pelo usuário final. Sua lógica vem puramente de controles que foram adicionados ao layout da página. Eu não ouvi falar de herança de uma classe de página da publicação, porque não deve ser necessário -. Modificar o layout da página é a maneira de fazê-lo

Isto não realmente ajudá-lo se você não pode modificar o layout da página (há alguma razão?). Não estou certo do que a funcionalidade que você está tentando adicionar à página, mas aqui estão algumas idéias:

  • Criar um novo layout de página que contém um controle personalizado com a funcionalidade necessária e criar uma página de publicação com base nisso.
  • Se você tiver controles personalizados usados ??no layout da página já então modificá-los para dar a funcionalidade necessária.
  • controles delegado e ver se eles vão trabalhar para você .
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top