Partager via


Procédure pas à pas : création d'une définition de site avec du contenu supplémentaire

Cette procédure pas à pas explique comment créer une définition de site plus complète comprenant plusieurs éléments que vous pouvez ajouter à une définition de site. Il s'agit d'une définition de site de localisateur d'employé qui vous permet de trouver un employé sur une carte Bing grâce au nom de l'employé et à la région du pays où il travaille.

Cette procédure pas à pas présente les tâches suivantes :

  • Création d'une définition de site à l'aide du modèle de projet Visual Studio.

  • Ajout d'une page maître personnalisée dans la solution.

  • Ajout d'un composant Visual Web Part à la solution.

  • Ajout de champs personnalisés à la solution.

  • Ajout d'un type de contenu qui inclut les champs personnalisés.

  • Ajout d'une définition de liste basée sur le type de contenu.

  • Ajout d'une instance de liste et de données par défaut pour la liste déployée avec la définition de site.

  • Personnalisation de la page default.aspx du site en lui ajoutant un composant Visual Web Part.

  • Personnalisation d'un contrôle utilisateur sur le composant Visual Web Part.

  • Ajout à la solution d'une image de logo personnalisée qui s'affiche sur le composant Visual Web Part.

Notes

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

Création d'une solution de définition de site

Commencez par créer le projet de définition de site dans Visual Studio.

Pour créer un projet de définition de site

  1. Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet pour ouvrir la boîte de dialogue Nouveau projet.

  2. Développez le nœud SharePoint sous Visual C# ou Visual Basic, puis cliquez sur 2010.

  3. Dans le volet Modèles, sélectionnez Définition de site.

  4. Dans la zone Nom, tapez Testsitedef2, puis cliquez sur OK.

    L'Assistant Personnalisation de SharePoint s'affiche.

  5. Dans la page Spécifier le site et le niveau de sécurité pour le débogage, entrez l'URL du site du serveur SharePoint où vous souhaitez déboguer la définition de site, ou utilisez l'emplacement par défaut (http://nom du système/).

  6. Dans la section Quel est le niveau de confiance de cette solution SharePoint ?, utilisez la valeur par défaut de Déployer en tant que solution de batterie.

    Tous les projets de définition de site doivent être déployés comme solutions de batterie. Pour plus d'informations sur les différences entre les solutions bac à sable (sandbox) et les solutions de batterie, consultez Considérations sur les solutions bac à sable (sandbox).

  7. Cliquez sur Terminer. Le projet s'affiche dans l'Explorateur de solutions.

Ensuite, ajoutez une image à la solution. Elle sera utilisée comme logo d'entreprise dans la définition de site.

Pour ajouter une image

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de projet, pointez sur Ajouter, puis cliquez sur Dossier mappé "Images" SharePoint.

    Étant donné que le dossier Images est mappé directement au système de fichiers SharePoint, les fichiers qui lui sont ajoutés sont déployés vers le dossier SharePoint/images et sont disponibles dans SharePoint.

  2. Cliquez avec le bouton droit sur le dossier TestSiteDef2 sous Images, pointez sur Ajouter, puis cliquez sur Élément existant. Sélectionnez un fichier image à utiliser comme logo, puis cliquez sur Ajouter.

    Vous pouvez également cliquer sur Nouvel élément dans le menu contextuel et créer une image, bien que votre choix de types d'image soit limité. En général, il est recommandé de créer des images à l'aide d'un autre outil.

  3. Répétez l'étape 2 si vous souhaitez ajouter d'autres images à la solution. Par exemple, vous pouvez ajouter une autre image qui agira en tant qu'espace réservé pour le contrôle d'image ajouté ultérieurement dans cette rubrique.

Ajout d'une page maître personnalisée

Si vous souhaitez que votre définition de site utilise une page maître personnalisée, vous pouvez en ajouter une à la solution.

Pour ajouter une page maître personnalisée

  1. Créez une page maître. Pour plus d'informations, consultez Pages maîtres ASP.NET.

  2. Exportez puis importez la page maître personnalisée dans Visual Studio, comme décrit dans la section Procédure pas à pas : importation d'une page maître et d'une page de site personnalisées avec une image.

  3. Ajoutez la page maître à un module. Pour ce faire, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de projet, pointez sur Ajouter, puis cliquez sur Nouvel élément.

  4. Dans la boîte de dialogue Ajouter un nouvel élément, dans la liste de modèles SharePoint, sélectionnez Module. Donnez un nom au module.

  5. Dans le module, supprimez le fichier Sample.txt par défaut.

  6. Ajoutez un dossier au module nommé _catalogs, puis un sous-dossier appelé masterpage.

    Cela correspond à l'emplacement de fichier des autres pages maîtres dans SharePoint.

  7. Ajoutez la page maître sous le dossier masterpage. Pour ce faire, sélectionnez le nœud de module, puis cliquez, dans le menu Projet, cliquez sur Ajouter un élément existant. Recherchez la page maître et sélectionnez-la. Les fichiers de page maître portent l'extension de nom de fichier .master.

  8. Modifiez le paramètre Résolution de conflit de déploiement de la page maître par Automatique.

  9. Dans le module, double-cliquez sur le fichier Elements.xml pour l'ouvrir dans le Concepteur XML.

    Vous devez mettre à jour le fichier Elements.xml pour référencer la page maître.

  10. Remplacez la balise de module existante par la balise suivante.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
        <Module Name="[Module Name]" 
                Url="_catalogs/masterpage">
            <File Path="[Module Name]\_catalogs\masterpage\[Master Page 
              Name].master" 
                  Url="[Master Page Name].master" 
                  Type="GhostableInLibrary" />
        </Module>
    </Elements>
    

    Veillez à remplacer les valeurs d'espace réservé par les noms réels du module et de la page maître.

  11. Modifiez le nom de la page maître dans le fichier default.aspx. Par exemple, si la page maître s'appelle « newmaster.master », utilisez les éléments suivants.

    <%@ Page language="C#" MasterPageFile="~/_catalogs/masterpage/newmaster.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"  %>
    
  12. Enregistrez le projet.

Définition de champs personnalisés

Définissez des champs personnalisés qui sont utilisés ultérieurement pour créer une liste personnalisée. Ces champs fournissent des données supplémentaires requises par le code dans la définition de site.

Pour définir des champs personnalisés

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de définition de site, pointez sur Ajouter, puis cliquez sur Nouvel élément.

  2. Sélectionnez Élément vide dans la liste de modèles et nommez l'élément SiteColumns.

  3. Dans le fichier Elements.xml, remplacez la balise par la balise suivante.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">  
      <Field ID="{587DE9D5-618C-42C4-A754-06EA36CF7496}" 
             Type="Text" 
             Name="Latitude" 
             DisplayName="Latitude" 
             Group="Coordinates"/>
      <Field ID="{5D1CFF2C-8032-4792-AB34-8E0A0520B478}" 
             Type="Text" 
             Name="Longitude" 
             DisplayName="Longitude" 
             Group="Coordinates"/>
      <Field ID="{8B7E3CC0-40B5-465E-81FE-D63B7471B7CE}" 
             Type="Text" 
             Name="Region" 
             DisplayName="Region" 
             Group="Coordinates"/>
      <Field ID="{8A152314-DB62-4EC7-96E7-E28F8A253B1D}" 
             Type="Text" 
             Name="StaffNumber" 
             DisplayName="StaffNumber" 
             Group="Coordinates"/>
    </Elements>
    

    Cette balise ajoute quatre champs personnalisés à SharePoint : Latitude, Longitude, Region et StaffNumber. Ces champs sont utilisés pour identifier des employés et leur emplacement. Vous pouvez ajouter d'autres champs si vous le souhaitez. Utilisez l'outil Create GUID du menu Outils pour générer un GUID unique pour chaque champ supplémentaire.

    Notes

    Si vous réexécutez cette solution, supprimez les commentaires des définitions de champ pour éviter des erreurs.

  4. Enregistrez le projet.

Ajout d'un type de contenu

Créez un type de contenu qui faire référence aux nouveaux champs.

Pour ajouter un type de contenu

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de définition de site, pointez sur Ajouter, puis cliquez sur Nouvel élément.

  2. Sélectionnez Type de contenu dans la liste de modèles et nommez le nouveau type de contenu StaffListContentType.

  3. Dans la page Choisir les paramètres de type de contenu, sélectionnez Contact dans la liste pour le type de contact de base.

  4. Dans le fichier Elements.xml pour le type de contenu, remplacez la balise par les éléments suivants :

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <!-- Parent ContentType: Contact (0x0106) -->
      <ContentType ID="0x010600a024d6b9cf214430a254b1272eaedc4f"
                   Name="TestSiteDef2 - StaffListContentType"
                   Group="Custom Content Types"
                   Description="My Content Type"
                   Inherits="TRUE"
                   Version="0">
        <FieldRefs>
          <FieldRef ID="{587DE9D5-618C-42C4-A754-06EA36CF7496}"
                    Name="Latitude"
                    DisplayName="Latitude"/>
          <FieldRef ID="{5D1CFF2C-8032-4792-AB34-8E0A0520B478}"
                    Name="Longitude"
                    DisplayName="Longitude"/>
          <FieldRef ID="{8B7E3CC0-40B5-465E-81FE-D63B7471B7CE}"
                    Name="Region"
                    DisplayName="Region"/>
          <FieldRef ID="{8A152314-DB62-4EC7-96E7-E28F8A253B1D}"
                    Name="StaffNumber"
                    DisplayName="StaffNumber"/>
        </FieldRefs>
      </ContentType>
    </Elements>
    
  5. Enregistrez le projet.

Ajout d'une définition de liste

Créez une définition de liste qui fait référence au nouveau type de contenu.

Pour ajouter une définition de liste

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de définition de site, pointez sur Ajouter, puis cliquez sur Nouvel élément.

  2. Dans la liste de modèles, sélectionnez Définition de liste du type de contenu et attribuez-lui le nom StaffListDefinition.

  3. Dans la page Choisir les paramètres de définition de liste, utilisez les valeurs par défaut pour le nom complet et le type de contenu de base. Effacez le contenu de la zone Ajouter une instance de liste pour cette définition de liste, puis cliquez sur Terminer.

    La définition de liste repose ainsi sur le nouveau type de contenu. Vous créerez ultérieurement une instance de la liste dans le fichier onet.xml.

  4. Double-cliquez sur Schema.xml pour l'ouvrir. Notez que les champs personnalisés sont déjà référencés en haut du fichier.

Ajout de données de liste par défaut à onet.xml

Pour fournir une instance de la nouvelle définition de liste et quelques informations par défaut sur les employés à la liste des employés une fois la définition de site déployée, ajoutez les données au fichier onet.xml de la définition de site.

Pour ajouter des données de liste à onet.xml

  1. Double-cliquez sur le fichier onet.xml pour l'ouvrir.

  2. Remplacez la balise <Lists/> par la balise suivante.

    <Lists>
        <List Title="StaffList"
              FeatureId="fea29b33-8752-45d4-a5bd-6f7a54db7d49"
              Url="Lists/TestSiteDef2-StaffList"
              Description="" Type="10000">
              <Data>
                <Rows>
                  <Row>
                    <Field Name="FirstName">David</Field>
                    <Field Name="FullName">David Pelton</Field>
                    <Field Name="Region">Northwest</Field>
                    <Field Name="Longitude">-122.33</Field>
                    <Field Name="Latitude">47.60</Field>
                    <Field Name="StaffNumber">100200</Field>
                  </Row>
                  <Row>
                    <Field Name="FirstName">Joe</Field>
                    <Field Name="FullName">Joe Healy</Field>
                    <Field Name="Region">Southwest</Field>
                    <Field Name="Longitude">-115.13</Field>
                    <Field Name="Latitude">36.15</Field>
                    <Field Name="StaffNumber">100300</Field>
                  </Row>
                  <Row>
                    <Field Name="FirstName">Lisa</Field>
                    <Field Name="FullName">Lisa Andrews</Field>
                    <Field Name="Region">Northeast</Field>
                    <Field Name="Longitude">-73.98</Field>
                    <Field Name="Latitude">40.75</Field>
                    <Field Name="StaffNumber">100400</Field>
                  </Row>
                  <Row>
                    <Field Name="FirstName">Chris</Field>
                    <Field Name="FullName">Chris Ashton</Field>
                    <Field Name="Region">Southeast</Field>
                    <Field Name="Longitude">-84.38</Field>
                    <Field Name="Latitude">33.76</Field>
                    <Field Name="StaffNumber">100500</Field>
                  </Row>
                </Rows>
              </Data>
        </List>
    </Lists>
    
  3. Définissez la portée de la fonctionnalité sur le niveau du site. Pour ce faire, dans l'Explorateur de solutions, double-cliquez sur le fichier de fonctionnalités pour l'ouvrir dans le Concepteur de fonctionnalités. Dans le Concepteur de fonctionnalités, affectez la valeur Site à Portée.

  4. Enregistrez le projet.

Ajout d'une référence au service Bing Maps

Appelez le service Bing Maps Imagery pour fournir une carte qui affiche l'emplacement de l'employé sélectionné.

Pour ajouter le service Bing Maps Imagery à la solution

  1. Ajoutez une référence de service au projet. Pour ce faire, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de projet, puis cliquez sur Ajouter une référence de service.

  2. Dans la boîte de dialogue Ajouter une référence de service, entrez l'URL suivante dans la zone Adresse.

    http://dev.virtualearth.net/webservices/v1/imageryservice/imageryservice.svc?wsdl
    
  3. Cliquez sur Aller à, tapez ImageryService dans la zone Espace de noms, puis cliquez sur OK.

  4. Supprimez le fichier app.config de la définition de site.

    Ce fichier, ajouté par le service, fournit les points de terminaison et liaisons nécessaires. Toutefois, il ne fonctionne pas correctement avec les solutions SharePoint, ses fonctionnalités sont donc ajoutées ultérieurement à l'aide de code.

  5. Les services Web Bing Maps requièrent une clé Bing Maps pour faire des demandes. Obtenez une clé en vous connectant à votre compte dans le Bing Maps Account Center.

Création d'un composant Visual Web Part avec des contrôles

Ensuite, créez un composant Visual Web Part avec des contrôles afin de l'afficher dans la page principale de la définition du site.

Pour créer un composant Visual Web Part

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de définition de site, pointez sur Ajouter, puis cliquez sur Nouvel élément.

  2. Sélectionnez Composant Visual Web Part dans la liste de modèles et utilisez la valeur par défaut, VisualWebPart1, pour le nom du composant WebPart.

  3. Sous la balise existante dans VisualWebPart1UserControl.ascx, ajoutez les éléments suivants.

    <style type="text/css">
        .style4
        {
            height: 205px;
            width: 187px;
        }
        .style5
        {
            height: 396px;
            width: 187px;
        }
        .style7
        {
            height: 205px;
            width: 291px;
        }
        .style8
        {
            height: 396px;
            width: 291px;
        }
        </style>
    
    <table style="width: 100%;">
        <tr>
            <td align="center" class="style4" valign="middle">
    <asp:Image ID="Image1" runat="server" Height="200px" 
        ImageUrl="~/_layouts/images/TestSiteDef2/logo.jpg" Width="350px" />
            </td>
            <td class="style7">
    <asp:Label ID="Label1" runat="server" Font-Size="XX-Large" 
        Font-Underline="True" Text="Tailspin Toys"></asp:Label>
                <br />
                <br />
    <asp:Label ID="Label7" runat="server" Font-Size="X-Large" 
        Font-Underline="False" Text="Employee Locator"></asp:Label>
            </td>
        </tr>
        <tr>
            <td class="style5" valign="top">
                <br />
    <asp:Label ID="Label2" runat="server" Font-Size="Large" Text="Region:"></asp:Label>
                <br />
                <asp:DropDownList ID="DropDownList1" runat="server" Height="24px" 
            Width="352px" onselectedindexchanged="DropDownList1_SelectedIndexChanged" 
                    AutoPostBack="True">
                <asp:ListItem>Northeast</asp:ListItem>
                <asp:ListItem>Northwest</asp:ListItem>
                <asp:ListItem>Southeast</asp:ListItem>
                <asp:ListItem>Southwest</asp:ListItem>
            </asp:DropDownList>
                <br />
                <br />
        <asp:Label ID="Label6" runat="server" Font-Size="Large" Text="Staff:"></asp:Label>
                <br />
        <asp:ListBox ID="ListBox1" runat="server" Width="352px" 
            onselectedindexchanged="ListBox1_SelectedIndexChanged" AutoPostBack="True"></asp:ListBox>
                <br />
                <br />
    &nbsp;&nbsp;
                </td>
            <td class="style8">
                <br />
    <asp:Label ID="Label5" runat="server" Font-Size="Large" Text="Map Location:"></asp:Label>
                <br />
    <asp:Image ID="Image2" runat="server" Height="388px" 
        ImageUrl="" Width="465px" />
            </td>
        </tr>    
    </table>
    
    <br />
    

    Cette opération ajoute les éléments suivants à la page : un titre, une image de logo, une zone de liste déroulante qui contient les régions, une zone de liste pour les noms des employés, et un contrôle de l'image qui affiche une carte.

  4. Ouvrez le fichier VisualWebPart1UserControl.ascx.cs, situé sous VisualWebPart1UserControl.ascx, puis remplacez son code par le code suivant.

    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.SharePoint;
    using TestSiteDef2.ImageryService;
    using System.ServiceModel;
    using System.ServiceModel.Channels;
    using System.Text;
    
    namespace TestSiteDef2.SiteDefinition.VisualWebPart1
    {
        public partial class VisualWebPart1UserControl : UserControl
        {
            protected void Page_Load(object sender, EventArgs e)
            {
            }
    
            protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string selectedRegion = DropDownList1.SelectedItem.Text;
    
                SPSite site = new SPSite(Context.Request.Url.AbsoluteUri);
                // Add the SharePoint server name below.
                string webName = 
                    Context.Request.Url.AbsoluteUri.Replace("https://localhost/", "");
                webName = webName.Replace("http://[SharePoint Server Name]/", "");
                webName = webName.Replace("/default.aspx", "");
    
                SPWeb web = site.AllWebs[webName];
                SPList list = web.Lists["StaffList"];
    
                ListBox1.Items.Clear();
                foreach (SPListItem item in list.Items)
                {
                    if (item["Region"].ToString() == selectedRegion)
                    {
                        // LinkTitle == LastName -> see schema.xml
                        ListBox1.Items.Add(item["StaffNumber"] + ": " + 
                            item["FullName"].ToString());
                    }
                }
            }
    
            protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                // Reference the site based on its URL.
                SPSite site = new SPSite(Context.Request.Url.AbsoluteUri);
    
                // Add the SharePoint server name below.
                string webName = 
                    Context.Request.Url.AbsoluteUri.Replace("https://localhost/", "");
                webName = webName.Replace("http://[SharePoint Server Name]/", "");
                webName = webName.Replace("/default.aspx", "");
    
                SPWeb web = site.AllWebs[webName];
    
                // Reference the new list "StaffList" (as defined in onet.xml).
                SPList list = web.Lists["StaffList"];
    
                // Get the string entered in the listbox, split it up.
                // String format: ("XXXXXX: First Last") 
                string fullName = ListBox1.SelectedItem.Text; 
                string[] splitStr = fullName.Split(':');
    
                string longitude = "";
                string latitude = "";
                // Iterate through list, get the latitude/longitude 
                // values for the selected employee's StaffNumber.
                foreach (SPListItem item in list.Items)
                {
                    if (splitStr[0] == item["StaffNumber"].ToString())
                    {
                        longitude = item["Longitude"].ToString();
                        latitude = item["Latitude"].ToString();
    
                        break;
                    }
                }
    
                // Fetch the Bing map based on the selected employee's 
                // latitude and longitude.
                ShowMap(longitude, latitude); 
            }
    
            public void ShowMap(string Longitude, string Latitude)
            {
                Image2.ImageUrl = GetMap(Latitude, Longitude, Latitude + "," 
                    + Longitude);
            }
    
            private string GetMap(string Latitude, string Longitude, string locationString)
            {
                // Set the address to the Bing Maps imagery service.
                EndpointAddress address = new 
                    EndpointAddress("http://dev.virtualearth.net/webservices/v1/imageryservice/imageryservice.svc");
    
                // Set up the binding, channel, and Bing Maps key.
                BasicHttpBinding binding = new BasicHttpBinding();
                binding.UseDefaultWebProxy = true;
                ChannelFactory<IImageryService> factory = 
                    new ChannelFactory<IImageryService>(binding, address);
                IImageryService channel = factory.CreateChannel(address);
                // Add your key below.
                string key = "[Bing Maps key]";
                MapUriRequest mapUriRequest = new MapUriRequest();
    
                // Set credentials using a valid Bing Maps key
                mapUriRequest.Credentials = new ImageryService.Credentials();
                mapUriRequest.Credentials.ApplicationId = key;
    
                // Set the location of the requested image.
                mapUriRequest.Center = new ImageryService.Location();
                string[] digits = locationString.Split(',');
                mapUriRequest.Center.Latitude = double.Parse(digits[0].Trim());
                mapUriRequest.Center.Longitude = double.Parse(digits[1].Trim());
    
                // Set the map style and zoom level.
                MapUriOptions mapUriOptions = new MapUriOptions();
                mapUriOptions.Style = MapStyle.AerialWithLabels;
                mapUriOptions.ZoomLevel = 17;
    
                // Set the size of the requested image in pixels.
                mapUriOptions.ImageSize = new ImageryService.SizeOfint();
                mapUriOptions.ImageSize.Height = 388;
                mapUriOptions.ImageSize.Width = 465;
                mapUriOptions.Style = MapStyle.AerialWithLabels;
    
                mapUriRequest.Options = mapUriOptions;
    
                // Add a pushpin to the current location.
                ImageryService.Pushpin[] MapPins = new ImageryService.Pushpin[1];
                MapPins[0] = new Pushpin();
                MapPins[0].IconStyle = "34";
                MapPins[0].Location = new Location();
                MapPins[0].Location.Latitude = Convert.ToDouble(Latitude);
                MapPins[0].Location.Longitude = Convert.ToDouble(Longitude);
                mapUriRequest.Pushpins = MapPins;
    
                // Open the channel and retrieve the map.
                ((IChannel)channel).Open();
                MapUriResponse mapUriResponse = channel.GetMapUri(mapUriRequest);
                ((IChannel)channel).Close();
                return mapUriResponse.Uri;
    
            }
        }
    }
    

Ajout du composant Visual Web Part à la page default.aspx

Ensuite, ajoutez le composant Visual Web Part à la page default.aspx de la définition de site.

Pour ajouter un composant Visual Web Part à la page default.aspx

  1. Ouvrez la page default.aspx et insérez la balise suivante sous la balise WebPartPages.

    <%@ Register Tagprefix="MyWebPartControls" Namespace="TestSiteDef2.SiteDefinition.VisualWebPart1" Assembly="$SharePoint.Project.AssemblyFullName$" %>
    

    Cette ligne associe le nom MyWebPartControls au composant WebPart et à son code. Le paramètre Namespace est identique à l'espace de noms utilisé dans le fichier de code VisualWebPart1Usercontrol.ascx.

  2. Après l'élément </asp:Content>, remplacez toute la section ContentPlaceHolderId="PlaceHolderMain" et son contenu par la balise suivante.

    <asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderMain" runat="server">
        <h1>
            Welcome to Tailspin Toys
        </h1>  
        <MyWebPartControls:VisualWebPart1 runat="server" />
    </asp:Content>
    

    Cette balise permet d'associer une référence au composant Visual Web Part que vous avez créé précédemment.

Exécution et déploiement de la solution de définition de site

Veuillez à présent exécuter le projet et le déployer sur le site SharePoint.

Pour exécuter et déployer la définition de site

  • Appuyez sur F5. Visual Studio compile le code, ajoute les fonctionnalités du projet, empaquette tous les fichiers dans un fichier .wsp et déploie le fichier .wsp sur le serveur SharePoint. SharePoint installe ensuite les fichiers, active les fonctionnalités et affiche la page Nouveau site SharePoint.

Création d'un site basé sur la définition de site

Créez un site en vous basant sur la nouvelle définition de site.

Pour créer un site à l'aide de la définition de site

  1. Sur le site SharePoint, la page Nouveau site SharePoint s'affiche.

  2. Dans la section Titre et description, tapez Mon nouveau site en guise de titre et de description du site.

  3. Dans la section Adresse du site Web, entrez monnouveausite dans la zone Nom de l'URL.

  4. Dans la section Modèle, cliquez sur l'onglet Personnalisations de SharePoint, puis sélectionnez TestSiteDef2 dans la liste Sélectionner un modèle.

  5. Conservez les valeurs par défaut des autres paramètres, puis cliquez sur Créer.

    Le nouveau site apparaît.

Test du nouveau site

Pour finir, testez le nouveau site afin de vous assurer qu'il fonctionne correctement.

Pour tester le nouveau site

  1. Dans la zone située sous Région, cliquez sur l'un des emplacements.

    Un nom d'employé pour cette région s'affiche dans la liste Personnel.

  2. Cliquez sur le nom de l'employé dans la liste Personnel.

    Un emplacement de carte pour l'employé s'affiche dans le contrôle d'image.

    Notes

    Si le service Bing Maps n'est pas disponible, une erreur « EndPointNotFoundException » peut survenir. Si cela arrive, réessayez ultérieurement.

Voir aussi

Tâches

Procédure pas à pas : création d'un projet de définition de site de base

Comment : créer un récepteur d'événements

Autres ressources

Développement de solutions SharePoint