Demonstra Passo a passo: Criando uma página de aplicativo
Um página de aplicativo é uma forma especializada de uma página ASP.NET page. As páginas de aplicativo contêm conteúdo que será mesclado com uma página mestra do SharePoint. Para obter mais informações, consulte A criação de páginas de aplicativo para o SharePoint.
Esta explicação passo a passo mostra como criar uma página de aplicativo e, então, depurar a página usando um site local do SharePoint. Esta página de aplicativo permite que o usuário atual exibir todos os itens que eles criados ou modificados em todos os sites no server farm.
Essa explicação passo a passo ilustra as seguintes tarefas:
Criando um projeto do SharePoint.
Adicionando uma página de aplicativo para o projeto do SharePoint.
Adicionando controles ASP.NET para a página do aplicativo.
Adicionando o code-behind do ASP.NET personalizados.
Testando a página do aplicativo.
Observação |
---|
Seu computador pode mostrar diferentes nomes ou localizações 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, consulte Trabalhando com configurações. |
Pré-requisitos
Para completar este passo a passo, são necessários os seguintes componentes:
Edições com suporte do Microsoft Windows e do SharePoint. Para obter mais informações, consulte Requisitos para o desenvolvimento de soluções do SharePoint.
Visual Studio 2010 Professionalou uma edição de Visual Studio aplicativo ciclo de vida de ALM (gerenciamento).
Criando um projeto do SharePoint
Primeiro, crie um Projeto vazio do SharePoint. Posteriormente, você adicionará um Página de aplicativo item a este projeto.
Para criar um projeto do SharePoint
Inicie o Visual Studio 2010
Abrir o Novo projeto caixa de diálogo caixa, expanda o SharePoint nó sob o idioma que você deseja usar e clique em 2010.
No Visual Studio Installed Templates painel, selecione Projeto vazio do SharePoint. Nomeie o projeto MySharePointProject e clique em OK.
O O Assistente para personalização do SharePoint aparece. Este assistente permite que você selecione o site que você usará para depurar o projeto e o nível de confiança da solução.
Selecione Deploy como uma solução do farme em seguida, clique em Concluir para aceitar o site do SharePoint padrão local.
Criando uma página de aplicativo
Para criar uma página de aplicativo, adicione um Página de aplicativo item ao projeto.
Para criar uma página de aplicativo
Em Solution Explorer, selecione o MySharePointProject project.
No menu Project, clique em Add New Item.
No Add New Item caixa de diálogo, selecione Página de aplicativo.
Nomeie a página SearchItems e clique em Add.
O designer Visual Web Developer exibe a página de aplicativo em fonte onde você pode ver os elementos da página HTML de modo de exibição. O designer exibirá a marcação para vários Content controles. Cada controle mapeia para um ContentPlaceHolder controle que é definido no padrão aplicativos mestre página.
Criar o Layout da página do aplicativo
O item de página de aplicativo permite que você usar um designer para adicionar o ASP.NET para a página do aplicativo. Este designer é o designer mesmo usado no Visual Web Developer. Arraste um rótulo, uma lista de botões de rádio e uma tabela para o fonte o modo de exibição do designer e definir propriedades apenas como faria com qualquer padrão do ASP.NET page.
Para obter mais informações sobre como usar o designer no Visual Web Developer, consulte Mapa de conteúdo do Visual Web Developer.
Para criar o layout da página do aplicativo
No menu Exibir, clique em Caixa de Ferramentas.
No Toolbox, da padrão agrupar, arraste um rótulo, um DropDownListe um tabela no corpo da PlaceHolderMain controle de conteúdo.
No designer, alterar o valor de Text atributo do controle label para mostrar todos os itens.
No designer, substitua o <asp:DropDownList> elemento com o 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>
Manipulando os eventos de controles na página
Lidar com controles em uma página de aplicativo, como faria com qualquer aplicativo ASP.NET page. Neste procedimento, você irá lidar com o SelectedIndexChanged o evento da lista drop-down.
Para manipular os eventos dos controles na página
Sobre o Exibir menu, clique em código.
O arquivo de código de página de aplicativo abre no Editor de código.
Adicione o seguinte método para o SearchItems classe. Esse código manipula o SelectedIndexChanged o evento da DropDownList , chamando um método que você criará posteriormente nesta explicação 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 seguintes instruções para a 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 para o SearchItems classe. Esse método percorre todos os sites no server farm e procura por 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 para o SearchItems classe. Esse 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 do SharePoint é aberto e a página de aplicativo é exibida.
Para testar a página de aplicativo
Em Solution Explorer, clique com o botão direito na página do aplicativo e, em seguida, clique em definido como Item de inicialização.
Pressione F5.
O site do SharePoint é aberta. A página de aplicativo aparece.
Na página, clique na modificado por mim opção.
A página de aplicativo atualiza e exibe todos os itens que você modificou em todos os sites no server farm.
Na página, clique na criado por mim opção.
A página de aplicativo atualiza e exibe todos os itens que você criou em todos os sites no server farm.
Próximas etapas
Para obter mais informações sobre páginas de aplicativo do SharePoint, consulte A criação de páginas de aplicativo para o SharePoint.
Você pode aprender mais sobre como criar conteúdo de página do SharePoint usando o Visual Web Designer com estes tópicos:
Consulte também
Tarefas
Como: Criar uma página de aplicativo