Solução de problemas de eventos
Eventos de programação podem causar comportamentos excepcional, dependendo de contextos no qual você implementar manipuladores de evento. A seguinte tabela descreve comportamentos evento relacionado a contextos específicos que você pode encontrar ao escrever codificar.
Contexto | Descrição |
---|---|
Bibliotecas e de conteúdo Documentos tipos |
You create an .aspx page of a particular content type in a document library, and the page has associated ItemAdding and ItemAdded events, but the events do not fire. Apenas propriedades tipo de conteúdo usar como padrão estão presentes na fase de adicionar. Propriedades adicionais (campos) do tipo de conteúdo especificada são adicionadas somente na fase de atualização. Portanto, recomendação é evitar disparando eventos Add adicionar com um ID. tipo de conteúdo especificado Em vez disso, defina o tipo de conteúdo para o tipo de conteúdo usar como padrão na fase de adicionar. O tipo de conteúdo subseqüentemente podem ser alterados na fase de atualização. Um alternativo é para registrar os eventos na lista nível. |
Bibliotecas e de conteúdo Documentos tipos |
Um evento ItemAdding M:Microsoft.SharePoint.SPItemEventReceiver.ItemAdding(Microsoft.SharePoint.SPItemEventProperties) que está ligado a um tipo de conteúdo é acionado mesmo quando um documento que não seja desse tipo é carregado. Quando você adicionar primeiro um documento para uma biblioteca, o tipo de conteúdo é sempre o tipo de conteúdo usar como padrão associado com a lista. O tipo de conteúdo do documento pode ser alterado durante a fase de atualização e de tipo de conteúdo que identificação é ajustada de acordo. |
Bibliotecas e de conteúdo Documentos tipos |
Uma solicitação Excluir um item a uma forma lista não possui um associado tipo de conteúdo identificação, mas isso faz com que um ItemDeleting ou ItemDeleted M:Microsoft.SharePoint.SPItemEventReceiver.ItemDeleted(Microsoft.SharePoint.SPItemEventProperties) evento para acionar em todos os itens, não apenas nos itens de uma tipo de conteúdo específico, Even though o evento foi registrado somente para o tipo de conteúdo. Por design, Windows SharePoint Services aciona eventos para todos os itens em uma lista quando a solicitação não está ligado a um tipo de conteúdo para permitir disparando um evento para todos os itens quando o receptor de eventos é registrado de todos os itens de lista. Este comportamento afeta diretivas que envolvem eventos Delete Excluir. Se você implementar uma diretiva que envolve exclusão, aplicar a diretiva para um tipo de conteúdo e em seguida, BIND o tipo de conteúdo para uma lista, a diretiva será aplicar para todos os itens de lista, não apenas para os itens do tipo de conteúdo para o qual a diretiva é aplicada. |
Listas e de conteúdo tipos |
Você registrar ItemUpdating e eventos ItemUpdated M:Microsoft.SharePoint.SPItemEventReceiver.ItemUpdated(Microsoft.SharePoint.SPItemEventProperties) em um tipo de conteúdo que está ligado a uma lista, mas o acionar eventos mesmo quando itens que não sejam do que tipo de conteúdo são atualizados pelo modelo de objeto. Windows SharePoint Services retorna 0 (zero) como o tipo de conteúdo identificação, não o tipo de conteúdo identificação do item. |
Lista |
O BeforeProperties propriedade se aplica somente ao tipo de DocumentLibrary DocumentLibrary P:Microsoft.SharePoint.SPItemEventProperties.BeforeProperties listas. A solução alternativa é retornar as propriedades usando o modelo de objeto e o ID. item determinada lista |
Bibliotecas de Documentos |
Você adicionar um personalizado tipo de conteúdo para uma biblioteca documento. ItemAdding, ItemAdded, and ItemUpdating events fire, but not ItemUpdated events. Esse comportamento ocorre apenas para a biblioteca documento Shared Documents e não para personalizado bibliotecas documento. For Shared Documents, adding a content type creates a |
Bibliotecas e de conteúdo Documentos tipos |
For folders, you get the content type and content type ID through the AfterProperties property in the ItemAdding and ItemAdded, events, but for documents, you get the content type ID only in the ItemAdded event and nothing in the ItemAdding event. O analisador Windows SharePoint Services wssnoversshort para documentos Microsoft Office do sistema msoffsysnovers não define o nome tipo de conteúdo em um dicionário documento. Documento metadados não define um nome tipo de conteúdo. |
Lista |
Eventos Lista Não acionar na lista a UserInfo. |
Lista |
Dispara um evento ItemAdded M:Microsoft.SharePoint.SPItemEventReceiver.ItemAdded(Microsoft.SharePoint.SPItemEventProperties) em um tipo pasta item, mas o item da lista identificação não é retornada. |
Bibliotecas de Documentos |
Eventos não acionar ao desvincular copiar um documento a partir de original documento. |
Bibliotecas de Documentos |
Lista IDs item sempre igual a 0 Ao acionar eventos em documentos na pasta de formulários. Se você registrar um evento ItemUpdating M:Microsoft.SharePoint.SPItemEventReceiver.ItemUpdating(Microsoft.SharePoint.SPItemEventProperties) em uma biblioteca documento e, em seguida, modificar EditForm.aspx, o evento é acionado, mas a identificação é igual a 0 (zero) porque o item não é um regular item da lista. |
Lista |
Receptores de eventos não BIND para uma lista quando a lista é provida por Onet.xml e o tipo lista possui um associado recursos que vinculam um receptor para a lista. Você cria um recurso que vincula um receptor para um tipo lista, criar uma lista desse tipo por meio de definição site, mas o destinatário não está ligado para a lista quando um site é configurado. É uma solução alternativa BIND o destinatário a um tipo de conteúdo em vez disso e em seguida, BIND o tipo de conteúdo para a lista. |