Pergunta

Eu tenho um requisito em que uma ação personalizada é adicionada apenas ao site raiz do conjunto de sites.Portanto, planejando adicionar dois recursos, um com escopo Site e outro com escopo Web. No receptor de eventos de um recurso de escopo Site, estou ativando o recurso de escopo Web.

Para isso eu posso usar

web.Features.Add(webFeatureId);

Como posso encontrar o ID de recurso de recursos de nível da Web programaticamente?

Foi útil?

Solução

Nós vamos.Realmente depende de qual recurso você precisa ativar.

O id de um recurso não muda durante sua vida.Isso significa que, se você puder descobrir a ID, terá certeza de que ela permanecerá a mesma, independentemente da instância específica do farm do SharePoint.Dito isso, você pode "codificar" sua ID em uma classe de suporte, assim como o SharePoint faz com a ID de campos na classe SPBuiltInFields.

Se, por algum motivo, você não puder saber o ID do recurso de antemão, precisará de outra maneira de identificar o recurso - por exemplo, o nome de exibição.Com essa informação, você pode usar a propriedade Definições de recursos do objeto SPWeb para navegar pelos recursos de nível 'Web' instalados, pesquisar o que você precisa e adicioná-lo à coleção Recursos para ativá-lo conforme necessário.

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