Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUM OFFICE FAQs OFFICE TUTORIELS OFFICE LIVRES OFFICE SOURCES VBA ACCESS

Utilisation des webpart verbs

Par Dieudonne N'TAMACK
 

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

            

I. Introduction
II. Le code


I. Introduction

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

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

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

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,

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

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

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é



            

Valid XHTML 1.1!Valid CSS!

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.
Responsables bénévoles de la rubrique MS-Office : Christophe Warin (MVP) et Maxence HUBICHE (MVP) - Contacter par EMail :
Vos questions techniques : forum d'entraide MS-Office - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.