Sintomas
Quando um formulário de exibição personalizado é gerado pelo SharePoint Designer, o acessório não será exposto se um estiver presente. Consulte o seguinte link para obter informações adicionais no que diz respeito a formulários de lista personalizadas:http://office.microsoft.com/en-us/sharepoint-designer-help/create-a-custom-list-form-using-sharepoint-designer-HA010378258.aspxA saída da caixa ListFormWebPart não exibe este comportamento.
Causa
A marcação necessária para fazer este trabalho está faltando do cliente.
Resolução
Para resolver este problema, os utilizadores podem criar um corte de código e inserir a marcação conforme necessário através da visão de código. Em alternativa, os utilizadores podem simplesmente colar a marcação que é usada para criar cortes de código no formulário de lista personalizada. A seguinte marcação pode ser usada para criar o corte de código:
<tr> <td nowrap="true" valign="top" class="ms-formlabel" width="20%"> <SharePoint:FieldLabel ControlMode="Display" FieldName="Attachments" runat="server"/> </td> <td valign="top" class="ms-formbody" width="80%"> <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="Display" FieldName="Attachments" __designer:bind=""/> </td></tr>
Para criar um corte de código no SharePoint Designer 2010 faça o seguinte:1. Clique no menu Ficheiro dentro do SPD 2010.2. Em seguida, clique em Opções e no separador geral escolha Opções de Editor de página.3. Mude para o separador Code Snippets.4. Clique no botão Adicionar e dê-lhe um nome como attachmentFix.5. Forneça uma descrição para ajudar a dar contexto ao código snippet.6. Cole a seguinte marcação para automatizar a tarefa de adicionar a funcionalidade de acessório para os formulários de exibição.
<tr> <td nowrap="true" valign="top" class="ms-formlabel" width="20%"> <SharePoint:FieldLabel ControlMode="Display" FieldName="Attachments" runat="server"/> </td> <td valign="top" class="ms-formbody" width="80%"> <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="Display" FieldName="Attachments" __designer:bind=""/> </td></tr>
7. Clique OK e, em seguida, OK.8. Agora, ao trabalhar com um formulário de lista personalizada e requer a marcação acima execute o seguinte na vista de código: Control + Enter.9. Isto vai trazer para cima os fragmentos de código construídos e o que foi criado. Escolha o acessórioFix e toda a marcação será inserida. Isto pode ser automatizado através de uma política de grupo ou de outros mecanismos de entrega. Por exemplo, O Windows 7 utiliza o seguinte caminho para armazenar snippets de código personalizados:C:\Users\UserName\AppData\Roaming\Microsoft\SharePoint Designer\SnippetsO documento que se segue explica os internos do código snippet:http://msdn.microsoft.com/en-us/library/aa218645 (v=office.11).aspx#odc_fpcustomizingsnippets_tocreateacodesnippetO ficheiro SnippetsCustom.xml contém o seguinte após a realização dos passos acima:
<?xml version="1.0"?><!-- Code Snippet Configuration File --><snippets><snippet keyword="attachmentFix"> <description>Custom display form attachment fix.</description> <text><tr> <td nowrap="true" valign="top" class="ms-formlabel" width="20%"> <SharePoint:FieldLabel ControlMode="Display" FieldName="Attachments" runat="server"/> </td> <td valign="top" class="ms-formbody" width="80%"> <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="Display" FieldName="Attachments" __designer:bind=""/> </td></tr></text> </snippet></snippets>
Mais Informações
A Edição e os Novos Formulários não têm este problema dependendo do nível de patch e da versão do produto.1. Depois de instalar o Service Pack 2 para o SharePoint Designer 2007 e o WSS 3.0, a funcionalidade de anexo funcionará corretamente para editar e novos formulários. Os formulários antigos terão de ser complementados com a nova funcionalidade.2. SharePoint Designer 2010 e SharePoint Foundation funcionam corretamente com edição e novas formas fora da caixa.3. SharePoint Designer 2007 e SharePoint Designer 2010 experimentam o problema com formulários display.