Question

Je suis en train de créer une action personnalisée qui fait un postback quand on clique dessus.

J'ai suivi les articles suivants sans chance que ce soit:

  1. http://makarandrkulkarni.blogspot.com /2010/01/sharepoint-2010-ribbon-customization_09.html

  2. http: // blog.dennus.net/2010/07/20/ribbon-buttons-with-postback-in-sp2010/

  3. http://blogs.msdn.com/b/sridhara/archive/2010/12/30/implementing-a-post-back-button -en-un-sharepoint-2010 Web-partie avec-contextuelle-ribbon.aspx

Franchement, artcle 3 est une quantité ridicule de travail juste pour faire un postback donc je ne même pas essayer.

J'ai réussi à obtenir le bouton sur le ruban, mais sans l'élément CommandUIHandler dans le elements.xml le bouton est toujours désactivé.

, ce Anyway ce que je suis en train de réaliser:

J'ai une liste externe. Je veux une action personnalisée sur la liste qui met à jour un champ dans une autre base de données lorsque l'on clique dessus. Maintenant, cela ne doit pas être via un postback, je suis ouvert à toutes les suggestions qui que ce soit a - je pensais juste faire un postback serait simple, obvisouly je me trompais. Ce, alors je l'ai entendu était bêtement facile SP 2007.

Merci d'avance pour toute aide / suggestions.

Était-ce utile?

La solution

Si elle est une seule action administrative, vous pouvez simplement utiliser SharePoint Designer pour créer un bouton de ruban: http://msdn.microsoft.com/en-us/library/ee558387.aspx

Pour effectuer votre mise à jour sur le terrain, vous pouvez alors utiliser ou flux de travail d'application Page avec des paramètres de chaîne de requête.

Si vous avez besoin solution réutilisable (WSP), je vous recommande d'utiliser SharePoint 2010 Fluent API ruban . Il est un projet CodePlex, ce qui simplifie les opérations avec le ruban.

Vous pouvez exécuter un JS sur le bouton ruban clic.

Pour plus de détails, s'il vous plaît, visitez du projet.

A propos de la solution postback:

Très probablement, postback est pas une bonne façon ici, parce que AllItems forme d'une liste externe n'est pas une page avec votre derrière de code. Et pour obtenir ce travail à postback, vous aurez besoin de magie supplémentaire, par exemple, vous pouvez déployer votre propre webpart sur la même page et que vous pouvez utiliser __doPostBack de javascript et this.Page.Request["__EVENTTARGET"] de votre code. Je ne vous recommande d'utiliser cette solution, même si elle est possible.

Autres conseils

Il peut encore être en fonction facile sur ce que vous voulez faire. SharePoint Designer prend en charge la possibilité d'ajouter des actions personnalisées au menu du ruban sans avoir à écrire de code qui peut accéder à un formulaire (avec des jetons paramètre de requête), démarrer un workflow, ou ouvrir une URL et il fournit une boîte de dialogue simple, l'interface utilisateur pour la personnalisation de la bouton.

  1. Ouvrez de SharePoint Designer
  2. Ouvrez une liste ou une bibliothèque
  3. Trouvez la zone Actions personnalisées sur la page designer
  4. Ajouter une action personnalisée ...

Vous pouvez également lancer l'ajout d'un nouveau bouton de ruban directement à partir de l'interface utilisateur SharePoint. Accédez à une liste ou d'une bibliothèque (avec des autorisations de concepteur), et cliquez sur « Nouveau Quick Step » dans le menu du ruban. Cela ouvrira SharePoint Designer.

J'espère que cela aide. Si vous voulez voir comment ils le font, vous pouvez enregistrer le site comme un modèle et importer dans Visual Studio. Bien sûr, cela suppose que vous n'avez pas besoin de combiner le traitement côté client puis invoquez un post-retour de côté client.

Si vous avez besoin de forcer un post-retour d'un bout JavaScript, le plus simple est de trouver le nœud forme ASPNET (pages SharePoint ont une seule instance de formulaire) et faire une soumission. Laissez-moi savoir et je peux probablement trouver un échantillon rapide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top