Message d'erreur lorsque vous tentez de joindre un fichier dans un formulaire personnalisé sur le site Web de Windows SharePoint Services 3.0: « ce formulaire a été personnalisé ne fonctionne ne pas avec la pièce jointe »

Traductions disponibles Traductions disponibles
Numéro d'article: 953271 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Microsoft Office SharePoint Designer 2007 vous permet d'ajouter un Liste formulaire WebPart personnalisé sur un site Microsoft Windows SharePoint Services 3.0. Ensuite, vous essayez de joindre un fichier en cliquant sur Joindre un fichier dans la formulaire personnalisé sur le site Web. Lorsque vous faites cela, vous recevez l'erreur suivante message :
Ce formulaire a été personnalisé ne fonctionne ne pas avec la pièce jointe.

Résolution

Pour résoudre ce problème, procédez comme suit :
  1. Appliquez le correctif 953749.

    Pour plus d'informations Comment faire pour ce faire, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
    953749Problèmes résolus dans Windows SharePoint Services 3.0 par Windows SharePoint Services 3.0 Infrastructure Update
  2. Modifier le code XSL dans la page .aspx. Pour ce faire, procédez comme ces étapes, selon votre situation.

    Microsoft fournit des exemples de programmation à titre d'illustration, sans garantie expresse ou implicite. Ceci inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou adéquation à un usage particulier. Cet article suppose que vous connaissez avec le langage de programmation présenté et les outils qui sont utilisés pour créer et déboguer des procédures. Ingénieurs du support technique Microsoft peut aider à expliquer la fonctionnalité d'une procédure particulière. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou de construction procédures pour répondre à vos besoins spécifiques.

    Pour les formulaires d'élément personnalisé edit et personnalisée nouveaux articles de formulaires
    1. Dans le bloc de code XSL, recherchez le code suivant.
      <xsl:template name="dvt_1">
                                      <xsl:variable name="dvt_StyleName">ListForm</xsl:variable>
                                      <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>
                                      <table border="0" width="100%">
                                                      <xsl:call-template name="dvt_1.body">
                                                                      <xsl:with-param name="Rows" select="$Rows"/>
                                                      </xsl:call-template>
                                      </table>
                      </xsl:template>
      
    2. Remplacer les lignes de code que vous avez trouvé à l'étape 2 avec les lignes de code suivantes.
                      <xsl:template name="dvt_1">
      
                                      <xsl:variable name="dvt_StyleName">ListForm</xsl:variable>
      
                                      <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>
      
                                      <div>
      
                                                      <span id="part1">
      
                                                                      <table border="0" width="100%">
      
                                                                                      <xsl:call-template name="dvt_1.body">
      
                                                                                                      <xsl:with-param name="Rows" select="$Rows"/>
      
                                                                                      </xsl:call-template>
      
                                                                      </table>
      
                                                      </span>
      
                                                      <SharePoint:AttachmentUpload runat="server" ControlMode="Edit"/>
      
                                                      <SharePoint:ItemHiddenVersion runat="server" ControlMode="Edit"/>
      
                                      </div>
      
                      </xsl:template>
      
      Remarque Le code XSLT doit avoir le jeu de ControlMode à « Nouveau » personnalisé nouvelles formes d'élément et « Edit » pour l'élément formulaires personnalisés.
    3. Recherchez la ligne suivante de code.
      <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
    4. Collez le code suivant au-dessus de la ligne de code qui vous avez situé dans l'étape 2c.
      <tr id="idAttachmentsRow">
       <td nowrap="true" valign="top" class="ms-formlabel" width="20%">
         <SharePoint:FieldLabel ControlMode="Edit" FieldName="Attachments" runat="server"/>
        </td>
          <td valign="top" class="ms-formbody" width="80%">
           <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="Edit" FieldName="Attachments" __designer:bind="{ddwrt:DataBind('u','AttachmentsField','Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Attachments')}"/>
                             <script>
      var elm = document.getElementById("idAttachmentsTable");
              if (elm == null || elm.rows.length == 0)
                document.getElementById("idAttachmentsRow").style.display='none';
                            </script> </td>
           </tr>
      
      Remarque Cet exemple de code est pour un formulaire d'élément de modification personnalisée. Si vous utilisez un personnalisé nouveau formulaire d'article, remplacez ControlMode = « Modifier » avec ControlMode = « Nouveau » dans le code.

      En outre, dans le __designer:Bind attribut, le premier paramètre de la fonction ddwrtDataBind doit être "' i'" (insert) pour un personnalisé nouveau formulaire et articles « 'u' "(update) pour un formulaire d'élément de modification personnalisée.

      Par exemple, le code peut ressembler à la code suivant.
      <SharePoint:FormField runat="server" id="AttachmentsField{$Pos}" ControlMode="New" FieldName="Attachments" __designer:bind="{ddwrt:DataBind('i',concat('AttachmentsField',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Attachments')}"/>
      
    5. Enregistrez le formulaire.
    Pour afficher des formulaires
    1. Ouvrez le formulaire liste personnalisée.
    2. Déplacer le curseur vers la cellule du tableau dans le formulaire personnalisé contrôler l'emplacement où la pièce jointe à afficher. Ensuite, cliquez droit sur le cellule, pointez sur Insérer, puis cliquez sur Ligne Ci-dessous. Est une nouvelle ligne de table qui comporte deux cellules de colonne créé.
    3. Déplacer le curseur vers la cellule de la table de gauche de la nouvelle ligne, puis tapez Les pièces jointes.
    4. Déplacer le curseur vers la cellule du tableau de droite de la nouvelle ligne, passez en mode Code et entrez ensuite le code suivant.
      <SharePoint:AttachmentsField ControlMode="Display" FieldName="Attachments" runat="server" Visible="true"/>
    5. Enregistrez le formulaire.
Notes
  • Si vous apportez des modifications plus à la page, SharePoint Designer 2007 peut ajouter automatiquement un ID unique pour le code de pièce jointe que vous avez ajouté. Par exemple "<tr id="idAttachmentsRow">« devient »<tr id="idAttachmentsRow{generate-id}">.?<b00></b00></tr></tr>

    Ce processus peut ralentir Erreurs JavaScript sur la page. Si ce problème se produit, supprimez le « {generate-id} » balises qui sont ajoutés automatiquement.
  • Vous pouvez recevoir le message d'erreur suivant :
    Une erreur inattendue s'est produite
    Pour résoudre Ce problème, déplacez la forme d'une liste personnalisée à l'extérieur de la zone WebPart.
  • Suivant une message d'erreur de JavaScript :
    Impossible de déplacer le focus au contrôle, car il est invisible, non activé ou d'un type qui n'accepte pas le focus.
    Si vous Cette message d'erreur de réception, assurez-vous que le ListForm Web Partie qui se trouve sur la page par défaut est toujours là. Ensuite, affectez à la Mise en page Pour Masqué, puis fermez le composant WebPart. Pour ce faire, procédez comme suit :
    1. Cliquez droit sur le Formulaire de liste Composant WebPart SharePoint Designer.
    2. Cliquez sur Propriétés du composant WebPart, puis Cliquez sur Mise en page.
    3. Dans la Mise en page boîte de dialogue, sélectionnez Masqué, puis fermez le composant WebPart.

Propriétés

Numéro d'article: 953271 - Dernière mise à jour: lundi 23 mai 2011 - Version: 0.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows SharePoint Services 3.0
  • Microsoft Office SharePoint Server 2007
Mots-clés : 
kbexpertiseadvanced kberrmsg kbtshoot kbprb kbmt KB953271 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 953271
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com