Compartilhar via


Como a: criar ou excluir um site ou uma coleção de sites

Para criar um site, use um dos métodos a Add adicionar do SPWebCollection T:Microsoft.SharePoint.SPWebCollection classe. Para criar um subsite sob um site, use a propriedade Webs P:Microsoft.SharePoint.SPWeb.Webs da classe SPWeb T:Microsoft.SharePoint.SPWeb para retornar a coleção de subsites e, em seguida, chamar um dos métodos Add adicionar para a coleção.

O seguinte exemplo cria um novo subsite que baseia-se o modelo da atual no site e em informações coletadas nas três caixas de texto. Especificar as caixas de texto o nome a ser usado no novo URL, o título usado para o site e uma descrição para o site.

Observação

Os exemplos codificar neste tópico usam os membros do Microsoft.SharePoint.SPContext classe T:Microsoft.SharePoint.SPContext para obter o atual coleção site, site ou lista.Outside of um contexto HTTP, como em um aplicativo console ou um aplicativo do Windows, você obter referências para chave objetos com um método diferente.Para obter mais informações, consulte Obter referências a sites, aplicativos da Web e outros objetos de chave.

                  Dim mySite As SPWeb = SPContext.Current.Web
Dim subSites As SPWebCollection = mySite.Webs
Dim currentTemplate As String = mySite.WebTemplate

Dim siteUrl As String = TextBox1.Text.ToString()
Dim siteTitle As String = TextBox2.Text.ToString()
Dim siteDescription As String = TextBox3.Text.ToString()

subSites.Add(siteUrl, siteTitle, siteDescription, 
   Convert.ToUInt32(1033), currentTemplate, True, False)
                  SPWeb mySite = SPContext.Current.Web;
SPWebCollection subSites = mySite.Webs;
string currentTemplate = mySite.WebTemplate;

string siteUrl = TextBox1.Text.ToString();
string siteTitle = TextBox2.Text.ToString();
string siteDescription = TextBox3.Text.ToString();

subSites.Add(siteUrl, siteTitle, siteDescription, 1033, 
   currentTemplate, true, false); 

O exemplo anterior requer um using ( Imports na Visual Basic) para o espaço para nome Microsoft.SharePoint N:Microsoft.SharePoint.

In the example, the WebTemplate property of the SPWeb class returns the name of the current site definition, which is passed as a parameter of the Add method. Além disso, três parâmetros para este método transmitir as informações reunidas das caixas de texto três. As três outros parâmetros especificar 1033 como a pasta localidade, true para criar um site com exclusivo permissões e false para converter qualquer site existente na mesma localidade para um site do SharePoint.

To delete a site, use the Delete method of the SPWeb class or the Delete method of the SPWebCollection class.

O seguinte exemplo pressupõe o uso de uma caixa de texto para especificar a URL de um site para Excluir e usa o Delete M:Microsoft.SharePoint.SPWebCollection.Delete(System.String) método do SPWebCollection T:Microsoft.SharePoint.SPWebCollection classe para excluir o site.

                  Dim deleteSite As String = TextBox1.Text.ToString()

Dim mySite As SPSite = SPContext.Current.Site
Dim sites As SPWebCollection = mySite.AllWebs

sites.Delete(deleteSite)
                  string deleteSite = TextBox1.Text.ToString();

SPSite mySite = SPContext.Current.Site;
SPWebCollection sites = mySite.AllWebs;

sites.Delete(deleteSite); 

O exemplo anterior requer um using ( Imports na Visual Basic) para o espaço para nome Microsoft.SharePoint N:Microsoft.SharePoint.

O exemplo, a AllWebs P:Microsoft.SharePoint.SPSite.AllWebs propriedade do SPSite T:Microsoft.SharePoint.SPSite classe retorna a coleção de todos os sites dentro de atual coleção site.

To create a site collection, use the Sitesproperty of the SPVirtualServer class to return the collection of site collections on the virtual server and use one of the Add methods of the SPSiteCollection class.

O seguinte exemplo cria uma coleção site dentro de coleção de site coleções do atual aplicativo da Web SharePoint.

                  Dim webApplication As SPWebApplication = SPContext.Current.Site.WebApplication
Dim siteCollections As SPSiteCollection = webApplication.Sites

siteCollections.Add("http://Server_Name/sites/Site_Collection_Name", 
   "User_Name", "User_Email")
                  SPWebApplication webApplication = SPContext.Current.Site.WebApplication;
SPSiteCollection siteCollections = webApplication.Sites;

siteCollections.Add("http://Server_Name/sites/Site_Collection_Name",
"User_Name","User_Email ");

O exemplo anterior requer um using ( Imports na Visual Basic) para o espaço para nome Microsoft.SharePoint.Administration N:Microsoft.SharePoint.Administration.

O exemplo instancia a classe SPGlobalAdmin T:Microsoft.SharePoint.Administration.SPGlobalAdmin em ordem para chamar o OpenVirtualServer M:Microsoft.SharePoint.Administration.SPGlobalAdmin.OpenVirtualServer(System.URI) método e retornar os servidor virtual com o URI especificado.

Para excluir um site coleção de uma servidor virtual requer validação de segurança que usa o AdminFormDigest P:Microsoft.SharePoint.Administration.SPGlobalAdmin.AdminFormDigest propriedade do SPGlobalAdmin T:Microsoft.SharePoint.Administration.SPGlobalAdmin classe para inserir um síntese da mensagem na página no navegador. Você pode fazer isso por registrar o conteúdo como um campo oculto por meio de RegisterHiddenField RegisterHiddenField método do System.Web.UI.Page System.Web.UI.Page classe. In addition, use the RequestFromAdminPort field of the SPGlobalAdmin class to specify that the context of the request is through the administrative port.

O seguinte exemplo usa o evento Page_Load Page_Load para incluir um administrativo Digest forma sobre a página e para estabelecer o contexto da solicitação.

                  Private globalAdmin As New SPGlobalAdmin()

Private Sub Page_Load(sender As Object, e As System.EventArgs)

    Context.Items(SPGlobalAdmin.RequestFromAdminPort) = True
    Page.RegisterHiddenField("__REQUESTDIGEST", 
        globalAdmin.AdminFormDigest)

End Sub 'Page_Load

Private Sub Button1_Click(sender As Object, e As System.EventArgs)

    Dim globalAdmin As New SPGlobalAdmin()
    Dim uri As New System.Uri("http://Server_Name")
    Dim vServer As SPVirtualServer = globalAdmin.OpenVirtualServer(uri)
    Dim siteCollections As SPSiteCollection = vServer.Sites

    siteCollections.Delete("sites/Site_Collection")

End Sub 'Button1_Click
                  private SPGlobalAdmin globalAdmin = new SPGlobalAdmin();

private void Page_Load(object sender, System.EventArgs e)
{
    Context.Items[SPGlobalAdmin.RequestFromAdminPort] = true;
    Page.RegisterHiddenField("__REQUESTDIGEST", 
        globalAdmin.AdminFormDigest);
}

private void Button1_Click(object sender, System.EventArgs e)
{
    SPGlobalAdmin globalAdmin = new SPGlobalAdmin();
    System.Uri uri = new System.Uri("http://Server_Name");
    SPVirtualServer vServer = globalAdmin.OpenVirtualServer(uri);
    SPSiteCollection siteCollections = vServer.Sites;

    siteCollections.Delete("sites/Site_Collection");
}

O exemplo anterior requer um using ( Imports na Visual Basic) para o espaço para nome Microsoft.SharePoint.Administration N:Microsoft.SharePoint.Administration.

Consulte também

Referência

Microsoft.SharePoint

Conceitos

Trabalhando com lista de objetos e coleções
Guia de Introdução Com programaticamente personalizar uma Web Site SharePoint em Visual Studio
A validação de segurança e fazer postagens para atualizar os dados
Elevação de privilégio