Utilisation des webpart verbs

Dans ce tutoriel, vous allez apprendre ce que sont les webparts verbs et comment les créer.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

Les webparts verbs sont des actions qui apparaissent dans le menu d'une webpart

Image non disponible

Ils peuvent exécuter du code client et/ou serveur. Nous allons développer un exemple illustrant la création d'un verbe exécutant à la fois des actions du côté client et du côté serveur.

II. Le code


Dans notre exemple, nous allons créer 2 verbs, l'un exécutant du code client et l'autre du code server. Pour cela, commençons par créer une webpart

 
Sélectionnez

using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.IO;
using System.ComponentModel;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Data;
using Microsoft.SharePoint.Utilities;
namespace Coforcert {
	public class VerbWP : WebPart {
	}
}

Puis, overridons la propriété Verbs et déclarons les variables et EventHandler que nous allons utiliser

 
Sélectionnez

namespace Coforcert {
	public class VerbWP : WebPart {
		string openGooglejs;
		public void OpenGoogleServer(object sender, WebPartEventArgs e) {
		}	
		public override WebPartVerbCollection Verbs {
			get {
				List<WebPartVerb> verbs = new List<WebPartVerb>();
				WebPartVerb clientVerb = new WebPartVerb(Guid.NewGuid().ToString(), openGooglejs);
				clientVerb.Description = "Open Google wiht a client script in an external window";
				clientVerb.Text = "Open Google from Client";
				verbs.Add(clientVerb);
				WebPartEventHandler serverHandler = new WebPartEventHandler(OpenGoogleServer);
				WebPartVerb serverVerb = new WebPartVerb(Guid.NewGuid().ToString(), serverHandler);
				serverVerb.Description = "Open Google wiht a server script in an external window";
				serverVerb.Text = "Open Google From Server";
				verbs.Add(serverVerb);
				WebPartVerbCollection verbcoll = new WebPartVerbCollection(base.Verbs, verbs);
				return verbcoll;
			}
		}
	}
}

Dans notre propriété Verbs, nous créons une liste pour recevoir nos verbs et ensuite nous créons 2 WePartVerb, l'un qui va exécuter du code client et l'autre du code serveur. Puis nous créons une WebPartVerbCollection qui va nous servir à fusionner les verbs existant avec les nouveaux verbs. Nous sommes obligés de passer par la création cette collection, car elle est en lecture seule, et nous ne pouvons donc plus la modifier une fois créée. Ceci étant fait, il ne nous reste plus qu'à écrire notre code client,

 
Sélectionnez

string openGooglejs = "window.open('http://www.google.fr','Google')";

Puis notre code serveur,

 
Sélectionnez

public void OpenGoogleServer(object sender, WebPartEventArgs e) {
	this.Context.Response.Redirect("http://www.google.fr");
}

Et le tour est joué. Voici le code complet de cet exemple

 
Sélectionnez

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.IO;
using System.ComponentModel;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Data;
using Microsoft.SharePoint.Utilities;
namespace Coforcert {
	public class VerbWP : WebPart {
		string openGooglejs = "window.open('http://www.google.fr','Google')";
		public void OpenGoogleServer(object sender, WebPartEventArgs e) {
			this.Context.Response.Redirect("http://www.google.fr");
		}
		public override WebPartVerbCollection Verbs {
			get {
				List<WebPartVerb> verbs = new List<WebPartVerb>();
				WebPartVerb clientVerb = new WebPartVerb(Guid.NewGuid().ToString(), openGooglejs);
				clientVerb.Description = "Open Google wiht a client script in an external window";
				clientVerb.Text = "Open Google from Client";
				verbs.Add(clientVerb);
				WebPartEventHandler serverHandler = new WebPartEventHandler(OpenGoogleServer);
				WebPartVerb serverVerb = new WebPartVerb(Guid.NewGuid().ToString(), serverHandler);
				serverVerb.Description = "Open Google wiht a server script in an external window";
				serverVerb.Text = "Open Google From Server";
				verbs.Add(serverVerb);
				WebPartVerbCollection verbcoll = new WebPartVerbCollection(base.Verbs, verbs);
				return verbcoll;
			}
		}
	}
}

Et voici le résultat lorsque le webpart est déployé

Image non disponible

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.