Pergunta

Gostaria de saber qual é a melhor prática para este cenário:

Eu tenho um site Sharepoint (MOSS2007) com uma página ASPX.No entanto, não posso usar nenhuma fonte embutida e coisas como manipuladores de eventos não funcionam, porque o Sharepoint não permite scripts do lado do servidor em páginas ASPX por padrão.

Duas soluções:

  1. Mudar o PageParserPath em web.config conforme esse site

    <PageParserPaths>
    <PageParserPath VirtualPath="/pages/test.aspx" 
            CompilationMode="Always" AllowServerSideScript="true" />
    </PageParserPaths>
    
  2. Crie todos os controles e conecte-os aos eventos no .CS Arquivo, eliminando assim completamente alguns dos benefícios do ASP.net

Eu me pergunto: qual seria a melhor prática?O número um parece ser a escolha correta, mas mudar o web.config é algo que quero usar com moderação sempre que possível.

Foi útil?

Solução

Nesse caso, eu agruparia tudo em um recurso e o implantaria por meio de uma solução.Dessa forma, acho que você evitará o problema que está vendo.Isso é especialmente útil se você planeja usar essa funcionalidade também em outros sites.

Você também pode incorporar web parts diretamente na página, da mesma forma que faz com um WebControl, evitando assim qualquer confusão na galeria.

Outras dicas

O que a página ASPX faz?Que funcionalidade ele adiciona?Como você está adicionando a página ao site?Ao que parece, esta é apenas uma "Página de Web Part" em uma biblioteca de documentos.

Eu teria que fazer uma pequena pesquisa para estar 100%, mas meu entendimento é que o código embutido está ok, desde que esteja em uma página que permaneça fantasma e, portanto, confiável.Você pode adicionar sua funcionalidade ao site por meio de um recurso?

Eu evitaria a opção 1, parece um mau conselho para mim.Permitir código do lado do servidor em sua página é um risco à segurança, pois é possível que alguém injete código malicioso.Claro que você pode proteger a página, mas estamos falando de execução remota com provavelmente algumas permissões bastante sérias.

Obrigado até agora.Tentei com sucesso a solução de Andrew Connel:

http://www.andrewconnell.com/blog/articles/UsingCodeBehindFilesInSharePointSites.aspx

Envolvê-lo em uma solução faz parte disso, mas o principal problema era como inserir o código nisso, e está mais inclinado para a Opção 2 sem ter que criar os controles no código.

O que estava faltando:
No arquivo .cs, é necessário adicionar manualmente o "gatilho do botão protegido" "" " coisas, porque não há arquivo .Designer.CS gerado automaticamente ao usar uma biblioteca de classe.

Bem, é uma página que hospeda controles de usuário.É uma página .aspx customizada que será criada no site, principalmente porque não quero criar WebParts.

É essencialmente um aplicativo executado no Sharepoint, utilizando listas e outras funções, mas toda a funcionalidade só é útil dentro do aplicativo, portanto, inundar a galeria de web parts com inúmeras web parts que funcionam apenas em um local é algo que eu gostaria de evitar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top