Compartilhar via


SPWeb.SaveAsTemplate method

Salva o site como uma solução de modelo de site.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public Sub SaveAsTemplate ( _
    strTemplateName As String, _
    strTemplateTitle As String, _
    strTemplateDescription As String, _
    fSaveData As Boolean _
)
'Uso
Dim instance As SPWeb
Dim strTemplateName As String
Dim strTemplateTitle As String
Dim strTemplateDescription As String
Dim fSaveData As Boolean

instance.SaveAsTemplate(strTemplateName, _
    strTemplateTitle, strTemplateDescription, _
    fSaveData)
public void SaveAsTemplate(
    string strTemplateName,
    string strTemplateTitle,
    string strTemplateDescription,
    bool fSaveData
)

Parâmetros

  • strTemplateName
    Type: System.String

    O nome a ser usado para o modelo do formulário criar e também para o nome do arquivo do pacote de solução (. wsp) que contém o modelo. Se um pacote de solução com o mesmo nome de arquivo já existir, é adicionado um sufixo numérico ao nome quando o nome do arquivo de solução é formado. Por exemplo, se você passar "Teste", o método tenta criar um arquivo de modelo chamado "Test.wsp". Se esse nome é obtido, ele tenta "Test2.wsp". Se esse nome está em uso, ele tenta "Test3.wsp" e assim por diante.

  • strTemplateTitle
    Type: System.String

    Uma seqüência de caracteres que contém o nome para exibição do modelo de site.

  • strTemplateDescription
    Type: System.String

    Uma seqüência de caracteres que contém a descrição do modelo de site.

  • fSaveData
    Type: System.Boolean

    true se os dados do site são salvos como parte do modelo de site; Caso contrário, false.

Comentários

O método SaveAsTemplate salva um site como uma solução de modelo de site na Galeria de soluções. Os usuários podem criar novos sites com base no modelo, clicando em Novo Site no menu Ações do Site.

Internamente, este método chama o método estático SPSolutionExporter.ExportWebToGallery e esse método faz o trabalho.

Examples

O exemplo a seguir é um aplicativo de console que salva no site raiz numa colecção de sites como uma solução de modelo de site. Depois de salvar o modelo, o exemplo obtém uma referência para a solução de usuário que contém o modelo e imprime informações sobre a solução para o console.

using System;
using System.Linq;
using Microsoft.SharePoint;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("https://localhost"))
            {
                using (SPWeb web = site.RootWeb)
                {
                    string templateName = "Test Site";
                    string templateTitle = "Test Template";
                    string templateDesc = "This template was saved programmatically.";
                    web.SaveAsTemplate(templateName, templateTitle, templateDesc, false);

                     SPUserSolution solution = site
                        .Solutions
                        .Cast<SPUserSolution>()
                        .FirstOrDefault(s => s.Name.StartsWith(templateName));

                    if (solution != null)
                    {
                        Console.WriteLine("Solution name: {0}", solution.Name);
                        Console.WriteLine("Solution Id: {0}", solution.SolutionId);
                        Console.WriteLine("Status: {0}", solution.Status);
                    }
                }
            }
            Console.Write("\nPress ENTER to continue....");
            Console.ReadLine();
        }
    }
}
Imports System
Imports Microsoft.SharePoint

Module ConsoleApp

    Sub Main()

        Using site As New SPSite("https://localhost")
            Using web As SPWeb = site.RootWeb

                Dim templateName As String = "Test Site"
                Dim templateTitle As String = "Test Template"
                Dim templateDesc As String = "This template was saved programmatically."
                web.SaveAsTemplate(templateName, templateTitle, templateDesc, False)

                Dim solution As SPUserSolution = site.Solutions.Cast(Of SPUserSolution)().FirstOrDefault(Function(s) s.Name.StartsWith(templateName))

                If solution IsNot Nothing Then
                    Console.WriteLine("Solution name: {0}", solution.Name)
                    Console.WriteLine("Solution Id: {0}", solution.SolutionId)
                    Console.WriteLine("Status: {0}", solution.Status)
                End If

            End Using
        End Using

        Console.Write(vbCrLf & "Press ENTER to continue....")
        Console.Read()
    End Sub

End Module

Ver também

Referência

SPWeb class

SPWeb members

Microsoft.SharePoint namespace

ExportWebToGallery(SPWeb, String, String, String, SPSolutionExporter.ExportMode, Boolean)