2009-02-18 5 views
1

J'ai ajouté un élément de menu dans le bloc de contrôle d'édition (BCE) dans la bibliothèque de documents (en utilisant article suivant msdn http://msdn.microsoft.com/en-us/library/ms473643.aspx)comment appliquer une action personnalisée dans BCE uniquement pour le document article

Maintenant, je trouve que l'action personnalisée (le menu Élément) dans ECB est affiché à la fois pour l'élément de document et le dossier de document. Alors, comment appliquer une action personnalisée uniquement pour un élément de document?

Répondre

0

Utilisez-vous la liste comme votre RegistrationType? Essayez d'utiliser ContentType en tant que RegistrationTypeand et spécifiez le guid du type de contenu de document (je pense que c'est 0x0101) dans votre RegistrationID.

+0

Salut Jay, Merci pour les commentaires .... vous avez très raison .... Une liste de type ids de contenu est au lien suivant (Lien très très utile) http://grounding.co.za/blogs/brett /archive/2008/09/09/sharepoint-content-type-id-s.aspx Si vous avez un autre lien s'il vous plaît partager avec moi .... – Anoop

0

Vous devrez créer une classe qui hérite de WebControl. Cette classe devra rendre votre élément de menu tel que vous le souhaitez.

Vous devez ensuite utiliser les paramètres ControlAssembly et ControlClass de votre définition CustomAction pour spécifier cette classe.

Votre classe devra détecter si l'élément actuel est un document ou un dossier et rendre/ne pas se rendre en conséquence.

Je voudrais que le contrôle fonctionne d'abord juste en affichant un lien, puis ajouter la logique plus tard.

Ceci est a good blog posting on the technique, ce n'est pas pour la BCE mais les principaux sont les mêmes.

Profitez-en!

+0

Les paramètres ControlAssembly et ControlClass ne fonctionnent pas pour l'ECB car ce menu est rendu côté client et non côté serveur. –

0

Dans votre customAction, utilisez RegistrationType = "FileType" pour déterminer FILE et utilisez un RegistrationId = "doc" pour déterminer une extension, mon exemple de document Word. ;-)

Questions connexes