Passo a passo: Criando uma página de aplicativo
Uma página de aplicativo é uma forma especializada de uma página ASP.NET.Páginas de aplicativo contêm o conteúdo que será mesclado com uma página mestra do SharePoint.Para obter mais informações, consulte Criação de páginas de aplicativo para o SharePoint.
Essa explicação passo a passo mostra como criar uma página do aplicativo e em seguida depurar-la usando um site local do SharePoint.Esta página mostra a todos os itens que cada usuário tenha criado ou modificado em todos os sites no farm de servidores.
Essa explicação passo a passo mostra as seguintes tarefas:
Criando um projeto do SharePoint.
Adicionando uma página de aplicativo ao projeto do SharePoint.
Adicionando controles ASP.NET para a página de aplicativo.
Adicionando código por trás de controles ASP.NET.
Testando a página de aplicativo.
Observação |
---|
Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário Visual Studio nas instruções a seguir.A edição Visual Studio que você possui e as configurações que você usa determinam esses elementos.Para obter mais informações, consulte Configurações de Visual Studio. |
Pré-requisitos
Para completar este passo-a-passo, são necessários os seguintes componentes:
Edições suportadas do Windows e do SharePoint.Para obter mais informações, consulte Requisitos para o desenvolvimento de soluções do SharePoint.
Visual Studio Professional ou uma edição de (ALM) gerenciamento do ciclo de vida do aplicativo do Visual Studio.
Criando O SharePoint
Primeiro, crie O SharePoint empty Project.Posteriormente, você adicionará um item da Página de aplicativo ao projeto.
Para criar O SharePoint
Inicie o Visual Studio
Abra a caixa de diálogo de Novo Projeto , expanda o nó de Office/SharePoint no idioma que você deseja usar, e então escolha o nó de Soluções do SharePoint .
No painel de Modelos instalados do Visual Studio , escolha o modelo de SharePoint 2010 – Projeto Vazio .Nomeie o projeto MySharePointProject, e então escolha o botão de OK .
Assistente de personalização do SharePoint aparece.O assistente permite que você selecione o site que você usará para depurar o projeto e o nível de confiança de solução.
Escolha o botão de opção de Implantar como uma solução de farm , e então escolha o botão de Concluir para aceitar o site da web do SharePoint local padrão.
Criando uma página de aplicativo
Para criar uma página de aplicativo, adicione um item da Página de aplicativo ao projeto.
Para criar uma página de aplicativo
Em Gerenciador de Soluções, escolha o projeto de MySharePointProject .
Na barra de menus, escolha Projeto, Adicionar novo item.
Na caixa de diálogo de Adicionar novo item , escolha o modelo de Página (aplicativo de solução de farm apenas .
Nomeie a página SearchItems, e então escolha o botão de Adicionar .
O designer do Visual Web Developer exibe a página de aplicativo no modo de Origem onde você pode ver os elementos HTML da página.O designer exibe a marcação para vários controles de Content .Mapas de cada controle a ContentPlaceHolder controle que é definido na página mestra padrão do aplicativo.
Criando o layout da página de aplicativo
O item da página de aplicativo permitem a você usar um designer para adicionar controles ASP.NET para a página de aplicativo.Este criador é o mesmo designer usado no Visual Web Developer.Adicione um rótulo, uma lista de botão de opção, e uma tabela para modo de exibição de Origem de designer, e propriedades definidas em exatamente como você quando você cria qualquer página ASP.NET padrão.
Para obter mais informações sobre como usar o designer do Visual Web Developer, consulte Visual Studio Beta de 11 para o mapa de conteúdo da Web.
Para criar o layout da página de aplicativo
Na barra de menu, escolha Modo de Visualização, Caixa de Ferramentas.
No nó padrão de Caixa de Ferramentas, execute uma das seguintes etapas:
Abra o menu de atalho para o item de Rótulo , escolha Copiar, abra o menu de atalho para a linha sob o controle de conteúdo de PlaceHolderMain no designer, e então escolha Colar.
Arraste o item de Rótulo de Caixa de Ferramentas o corpo do controle do conteúdo de PlaceHolderMain .
Repita a etapa anterior para adicionar um item de DropDownList e um item de Tabela ao controle de conteúdo de PlaceHolderMain .
No designer, altere o valor do atributo de Text de controle do rótulo para mostrar todos os itens.
No designer, substitua o elemento de <asp:DropDownList> com o seguinte XML.
<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>
Manipulando eventos dos controles na página
Manipular controles em uma página de aplicativo exatamente como você faria com qualquer página ASP.NET.Nesse procedimento, você irá manipular o evento de SelectedIndexChanged da lista suspensa.
Para manipular eventos dos controles na página
No menu de Modo de Visualização , escolha Código.
O arquivo de código de página de aplicativo abre no editor de códigos.
Adicione o seguinte método à classe de SearchItems .Esse código manipula o evento de SelectedIndexChanged de DropDownList chamando um método que você criará posteriormente neste passo-a-passo.
Protected Sub DropDownList1_SelectedIndexChanged _ (ByVal sender As Object, ByVal e As EventArgs) _ Handles DropDownList1.SelectedIndexChanged SPSecurity.RunWithElevatedPrivileges(AddressOf GetItems) End Sub
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { SPSecurity.RunWithElevatedPrivileges(GetItems); }
Adicione as instruções a seguir à parte superior do arquivo de código de página do aplicativo.
Imports System.Web.UI.WebControls Imports Microsoft.SharePoint.Administration Imports System.Collections
using System.Web.UI.WebControls; using Microsoft.SharePoint.Administration; using System.Collections;
Adicione o seguinte método à classe de SearchItems .Este método itera com todos os sites no farm de servidores e procura os itens criados ou modificados pelo usuário atual.
Private Sub GetItems() Dim CurrentUser As New SPFieldUserValue _ (Me.Web, Me.Web.CurrentUser.ID, Me.Web.CurrentUser.Name) Dim ResultsList As New ArrayList() Dim ThisFarm As SPFarm = SPFarm.Local Dim Service As SPWebService = _ ThisFarm.Services.GetValue(Of SPWebService)("") Dim WebApp As SPWebApplication For Each WebApp In Service.WebApplications Dim SiteCollection As SPSite For Each SiteCollection In WebApp.Sites Dim Web As SPWeb For Each Web In SiteCollection.AllWebs Dim Lists As SPListCollection = Web.Lists Dim List As SPList For Each List In Lists Dim Item As SPListItem Try For Each Item In List.Items If Item(DropDownList1.SelectedValue).ToString() = _ CurrentUser.ToString() Then ResultsList.Add(Item) End If Next Item Catch exception As Exception 'Error in list. Move on to the next list. End Try Next List Next Web Next SiteCollection Next WebApp CreateResultsTable(ResultsList) End Sub
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); }
Adicione o seguinte método à classe de SearchItems .Este método exibe os itens criados ou modificados pelo usuário atual na tabela.
Private Sub CreateResultsTable(ByVal ResultsList As ArrayList) Dim CurrentList As String = "" Dim CurrentSite As String = "" Table1.Rows.Clear() Dim Item As SPListItem For Each Item In ResultsList If Item.ParentList.ParentWeb.Title <> CurrentSite Then CurrentSite = Item.ParentList.ParentWeb.Title Dim NewSiteCell As New TableCell() NewSiteCell.Text = CurrentSite Dim NewSiteRow As New TableRow() With NewSiteRow .Cells.Add(NewSiteCell) .Font.Bold = True .Font.Size = FontUnit.Larger .Font.Underline = True End With Table1.Rows.Add(NewSiteRow) End If If Item.ParentList.Title <> CurrentList Then CurrentList = Item.ParentList.Title Dim NewListCell As New TableCell() NewListCell.Text = CurrentList Dim NewListRow As New TableRow() With NewListRow .Cells.Add(NewListCell) .Font.Bold = True End With Table1.Rows.Add(NewListRow) Dim ItemHeading As New TableCell() With ItemHeading .Text = "Item" .Font.Italic = True End With Dim CreatedHeading As New TableCell() With CreatedHeading .Text = "Created" .Font.Italic = True End With Dim ModifiedHeading As New TableCell() With ModifiedHeading .Text = "Last Modified" .Font.Italic = True End With Dim HeadingRow As New TableRow() HeadingRow.Cells.Add(ItemHeading) HeadingRow.Cells.Add(CreatedHeading) HeadingRow.Cells.Add(ModifiedHeading) Table1.Rows.Add(HeadingRow) End If Dim ItemName As New TableCell() Dim ItemLink As New HyperLink() Try ItemLink.href = Item.ParentList.ParentWeb.Url & _ "/" & Item.ParentList.Forms(PAGETYPE.PAGE_DISPLAYFORM).Url & _ "?ID=" & Item.ID Catch exception As Exception ' Some items might not have a form page. Ignore the exception. End Try ItemLink.Text = Item.DisplayName ItemName.Controls.Add(ItemLink) Dim Created As New TableCell() Created.Text = Item("Created").ToString() Dim Modified As New TableCell() Modified.Text = Item("Modified").ToString() Dim DataRow As New TableRow() DataRow.Cells.Add(ItemName) DataRow.Cells.Add(Created) DataRow.Cells.Add(Modified) Table1.Rows.Add(DataRow) Next Item End Sub
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.href = 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); } }
Testando a página de aplicativo
Quando você executar o projeto, o site da web do SharePoint e abre a página de aplicativo aparece.
Para testar a página de aplicativo
Em Gerenciador de Soluções, abra o menu de atalho para a página do aplicativo, e então escolha Conjunto como o item de inicialização.
Escolha a tecla F5.
O site da web do SharePoint aparece.
Na página de aplicativo, escolha a opção de Modificado por mim .
A página de aplicativo atualiza e exibe todos os itens que você modificou em todos os sites no farm de servidores.
Na página de aplicativo, escolha Criados por mim na lista.
A página de 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 aplicativo do SharePoint, consulte Criação de páginas de aplicativo para o SharePoint.
Você pode aprender mais sobre como criar conteúdo da página do SharePoint usando o visual Web designer desses tópicos:
Consulte também
Tarefas
Como: criar uma página de aplicativo