Partilhar via


Passo a passo: Crie uma página de aplicativo do SharePoint

Uma página de aplicativo é uma forma especializada de uma página ASP.NET. As páginas do aplicativo contêm conteúdo mesclado com uma página mestra do SharePoint. Para mais informações, consulte Criar páginas de aplicativo para o SharePoint.

Este passo a passo mostra como criar uma página de aplicativo e depurá-la usando um site local do SharePoint. Esta página mostra todos os itens que cada usuário criou ou modificou em todos os sites no farm de servidores.

Este passo a passo ilustra as seguintes tarefas:

  • Criando um Projeto do SharePoint
  • Adicionando uma página de aplicativo ao projeto do SharePoint.
  • Adicionando controles ASP.NET à página do aplicativo.
  • Adicionando código por trás dos controles de ASP.NET.
  • Testando a Página do Aplicativo

Observação

Seu computador pode mostrar diferentes nomes ou locais para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, confira Personalizar o IDE do Visual Studio.

Pré-requisitos

  • Edições com suporte do Windows e do SharePoint.

Criar um projeto do SharePoint

Primeiro, crie um projeto vazio do SharePoint. Depois, adicione um item da Página do Aplicativo a este projeto.

  1. Inicie o Visual Studio.

  2. Abra a caixa de diálogo Novo Projeto, expanda o nó do Office/SharePoint no idioma que você deseja usar e escolha o nó Soluções do SharePoint.

  3. No painel Modelos Instalados do Visual Studio, escolha o modelo do SharePoint 2010 – Projeto Vazio. Nomeie o projeto MySharePointProjecte clique em OK.

    O Assistente de Personalização do SharePoint aparece. Esse assistente permite selecionar o site que você usará para depurar o projeto e o nível de confiança da solução.

  4. Escolha o botão Implantar como uma solução de farm e clique em botão Concluir para aceitar o site local padrão do SharePoint.

Criar uma página de aplicativo

Para criar uma página de aplicativo, adicione um item da Página do Aplicativo ao projeto.

  1. No Gerenciador de Soluções, escolha o projeto MySharePointProject.

  2. Na barra de menus, escolha Projeto>Adicionar Novo Item.

  3. Na caixa de diálogo Adicionar Novo Item, escolha a Página de Aplicativo (modelo Somente Solução de Farm.

  4. Nomeie a página SearchItemse clique em Adicionar.

    O Designer do Desenvolvedor da Web visual exibe a página do aplicativo no modo de exibição Origem, onde você pode ver os elementos HTML da página. O designer exibe a marcação de vários Content controles. Cada controle é mapeado para um ContentPlaceHolder controle definido na página mestra do aplicativo padrão.

Para projetar o modelo da página do aplicativo

O item Página do Aplicativo permite que você use um designer para adicionar controles ASP.NET à página do aplicativo. Esse designer é o mesmo usado no Visual Web Developer. Adicione um rótulo, uma lista de botões de opção e uma tabela à exibição de Origem do designer e defina as propriedades da mesma forma que faria ao projetar qualquer página de ASP.NET padrão.

  1. Na barra de menus, escolha Exibir>Caixa de Ferramentas.

  2. No nó Standard da Caixa de Ferramentas, execute uma das seguintes etapas:

    • Abra o menu de atalho do item Rótulo, escolha Copiar, abra o menu de atalho da linha no controle de conteúdo PlaceHolderMain no designer e escolha Colar.

    • Arraste o item Rótuloda Caixa de Ferramentas para o corpo do controle de conteúdo PlaceHolderMain.

  3. Repita a etapa anterior para adicionar um item DropDownList e um item de Tabela ao controle de conteúdo PlaceHolderMain.

  4. No designer, altere o valor do Text atributo do controle de rótulo para Mostrar Todos os Itens.

  5. No designer, substitua o <asp:DropDownList> elemento pelo XML a seguir.

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"
     OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
        <asp:ListItem Text="Created by me" Value="Author"></asp:ListItem>
        <asp:ListItem Text="Modified by me" Value="Editor"></asp:ListItem>
    </asp:DropDownList>
    

Para tratar os eventos de controles na página

Manipule os controles em uma página de aplicativo da mesma forma que faria com qualquer ASP.NET página. Neste procedimento, você manipulará o SelectedIndexChanged evento da lista suspensa.

  1. No menu Exibir, escolha Código.

    O arquivo de código da página do aplicativo é aberto no Editor de Código.

  2. Adicione o método a seguir à classe SearchItems. Esse código manipula o SelectedIndexChanged eventoDropDownList usando um método que você criará posteriormente neste passo a passo.

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        SPSecurity.RunWithElevatedPrivileges(GetItems);
       
    }
    
  3. Adicione as instruções a seguir à parte superior do arquivo de código da página do aplicativo.

    using System.Web.UI.WebControls;
    using Microsoft.SharePoint.Administration;
    using System.Collections;
    
  4. Adicione o método a seguir à classe SearchItems. Esse método itera em todos os sites no farm de servidores e pesquisa itens criados ou modificados pelo usuário atual.

    private void GetItems()
    {
         SPFieldUserValue currentUser = new SPFieldUserValue
         (this.Web, this.Web.CurrentUser.ID, this.Web.CurrentUser.Name);
    
        ArrayList resultsList = new ArrayList();
    
        SPFarm thisFarm = SPFarm.Local;
        SPWebService service = thisFarm.Services.GetValue<SPWebService>("");
    
        foreach (SPWebApplication webApp in service.WebApplications)
        {
            foreach (SPSite siteCollection in webApp.Sites)
            {
                foreach (SPWeb web in siteCollection.AllWebs)
                {
                    SPListCollection lists = web.Lists;
                    foreach (SPList list in lists)
                    {
                        try
                        {
                            foreach (SPListItem item in list.Items)
                            {
                                if (item[DropDownList1.SelectedValue].ToString() ==
                                    currentUser.ToString())
                                {
                                    resultsList.Add(item);
                                }
                            }
                        }
                        catch (Exception)
                        {
                            // An error with the list. Move onto the next list.
                        }
                    }
                }
            }
        }
        CreateResultsTable(resultsList);
    
    }
    
  5. Adicione o método a seguir à classe SearchItems. Esse método exibe itens criados ou modificados pelo usuário atual na tabela.

    private void CreateResultsTable(ArrayList resultsList)
    {
        string currentList = "";
        string currentSite = "";
        Table1.Rows.Clear();
    
        foreach (SPListItem item in resultsList)
        {
            if (item.ParentList.ParentWeb.Title != currentSite)
            {
                currentSite = item.ParentList.ParentWeb.Title;
    
                TableCell newSiteCell = new TableCell();
                newSiteCell.Text = currentSite;
    
                TableRow newSiteRow = new TableRow();
                newSiteRow.Cells.Add(newSiteCell);
                newSiteRow.Font.Bold = true;
                newSiteRow.Font.Size = FontUnit.Larger;
                newSiteRow.Font.Underline = true;
    
                Table1.Rows.Add(newSiteRow);
            }
            if (item.ParentList.Title != currentList)
            {
                currentList = item.ParentList.Title;
                TableCell newListCell = new TableCell();
                newListCell.Text = currentList;
    
                TableRow newListRow = new TableRow();
                newListRow.Cells.Add(newListCell);
                newListRow.Font.Bold = true;
    
                Table1.Rows.Add(newListRow);
    
                TableCell itemHeading = new TableCell();
                itemHeading.Text = "Item";
                itemHeading.Font.Italic = true;
    
                TableCell createdHeading = new TableCell();
                createdHeading.Text = "Created";
                createdHeading.Font.Italic = true;
    
                TableCell modifiedHeading = new TableCell();
                modifiedHeading.Text = "Last Modified";
                modifiedHeading.Font.Italic = true;
    
                TableRow headingRow = new TableRow();
                headingRow.Cells.Add(itemHeading);
                headingRow.Cells.Add(createdHeading);
                headingRow.Cells.Add(modifiedHeading);
    
                Table1.Rows.Add(headingRow);
            }
    
            TableCell itemName = new TableCell();
            HyperLink itemLink = new HyperLink();
            try
            {
                itemLink.NavigateUrl = item.ParentList.ParentWeb.Url + "/" +
                    item.ParentList.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url +
                    "?ID=" + item.ID;
            }
            catch (Exception)
            {
                // Some items might not have a form page. Ignore the exception.
            }
            itemLink.Text = item.DisplayName;
            itemName.Controls.Add(itemLink);
    
            TableCell created = new TableCell();
            created.Text = item["Created"].ToString();
    
            TableCell modified = new TableCell();
            modified.Text = item["Modified"].ToString();
    
            TableRow dataRow = new TableRow();
            dataRow.Cells.Add(itemName);
            dataRow.Cells.Add(created);
            dataRow.Cells.Add(modified);
    
            Table1.Rows.Add(dataRow);
        }
    }
    

Testar a página do aplicativo

Quando você executa o projeto, o site do SharePoint é aberto e a página do aplicativo é exibida.

  1. No Gerenciador de Soluções, abra o menu de atalho da página do aplicativo e escolha Definir como Item de Inicialização.

  2. Pressione a tecla F5.

    O site do SharePoint é aberto.

  3. a página do aplicativo, escolha a opção Modificado por mim.

    A página do aplicativo atualiza e exibe todos os itens que você modificou em todos os sites no farm de servidores.

  4. Na página do aplicativo, escolha Criado por mim na lista.

    A página do aplicativo atualiza e exibe todos os itens que você criou em todos os sites no farm de servidores.

Próximas etapas

Para obter mais informações sobre páginas de aplicativos do SharePoint, consulte Criar páginas de aplicativo para o SharePoint.

Você pode saber mais sobre como projetar o conteúdo da página do SharePoint usando o Visual Web Designer a partir destes tópicos: