Étape 1 : développer un assembly de composant WebPart ASP.NET
Pour créer un composant WebPart de consommateur de filtre simple, commencez par développer un assembly de composant WebPart ASP.NET. Pour cela, vous allez en général créer une bibliothèque de classes avec une classe dérivée de la classe de base System.Web.UI.WebControls.WebParts.WebPart.
Pour plus d'informations sur le développement d'assemblys ASP.NET, consultez la documentation ASP.NET 2.0 suivante :
Guide de démarrage rapide des composants WebPart ASP.NET
Documentation des composants WebPart ASP.NET
Connexions des composants WebPart ASP.NET 2.0
Conditions préalables requises
Cette rubrique suppose que vous utilisez Microsoft Visual Studio 2005.
Pour développer un assembly de composant WebPart ASP.NET
Démarrez Visual Studio 2005.
Démarrez un nouveau projet de bibliothèque de classes C#.
Ajoutez une référence à System.Web, Microsoft.Office.Server, Microsoft.SharePoint et Microsoft.SharePoint.Portal.
Dans votre fichier .cs, copiez et collez le code suivant :
using System; using System.Collections.Generic; using System.ComponentModel; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using aspnetwebparts = System.Web.UI.WebControls.WebParts; using Microsoft.Office.Server.Utilities; using wsswebparts = Microsoft.SharePoint.WebPartPages; using Microsoft.SharePoint.Portal.WebControls; using System.Collections.ObjectModel; using Microsoft.SharePoint.Utilities; using System.Data; using System.Collections; namespace MyWebPartLibrary { public class SimpleFilterConsumerWebPart : aspnetwebparts.WebPart { List<wsswebparts.IFilterValues> providers = new List<wsswebparts.IFilterValues>(); protected override void CreateChildControls() { base.CreateChildControls(); } [aspnetwebparts.ConnectionConsumer("Simple Consumer", "IFilterValues", AllowsMultipleConnections = false)] public void SetConnectionInterface(wsswebparts.IFilterValues provider) { this.providers.Add(provider); if (provider != null) { List<wsswebparts.ConsumerParameter> l = new List<wsswebparts.ConsumerParameter>(); l.Add(new wsswebparts.ConsumerParameter("Value", wsswebparts.ConsumerParameterCapabilities.SupportsMultipleValues | wsswebparts.ConsumerParameterCapabilities.SupportsAllValue)); provider.SetConsumerParameters(new ReadOnlyCollection<wsswebparts.ConsumerParameter>(l)); } } protected override void RenderContents(HtmlTextWriter output) { this.EnsureChildControls(); foreach (wsswebparts.IFilterValues provider in this.providers) { if (provider != null) { string prop = provider.ParameterName; ReadOnlyCollection<String> values = provider.ParameterValues; if (prop != null && values != null) { output.Write("<div>" + SPEncode.HtmlEncode(prop) + ":</div>"); foreach (string v in values) { if (v == null) { output.Write("<div> <i>"(empty)"/null</i></div>"); } else if (v.Length == 0) { output.Write("<div> <i>empty string</i></div>"); } else { output.Write("<div> " +v + "</div>"); } } } else { output.Write("<div>No filter specified (all).</div>"); } } else { output.Write("<div>Not connected.</div>"); } output.Write("<hr>"); } } } }
Compilez la solution. Vous devriez maintenant disposer d'un assembly contenant votre composant WebPart de consommateur de filtre simple.
Étapes suivantes
Étape 2 : Placer l'assembly dans le répertoire Bin ou dans le Global Assembly Cache