OrionXL

Создание простой визуальной веб-части в Visual Studio 2010 для Sharepoint

Роман Иванов @ 08:41 19.11.2010

В этом примере Вы узнаете что такое визуальная веб-часть (visual web part) и как создать простой проект для работы с ней на примере отображения таблицы списка.

Что такое визуальная веб-часть? Это компонент создающийся в визуальной среде программирования или веб-интерфейсе (еще можно через Sharepoint Designer) как самостоятельный блок выполняющий некоторые функции отображения, обработки, выбора и т.п. Это элемент модульности заложенной разработчиками Microsoft при создании Sharepoint.

И так, для начала надо запустить Visual Studio, выбрать проект C# для Sharepoint 2010 "Визуальная веб-часть". Окно выбора настроек показано ниже.

Создание проекта визуальной веб части в Visual Studio 2010

Создание проекта визуальной веб части в Visual Studio 2010

Вводим название проекта и жмем "ОК". Далее нам предложат выбрать сайт и уровень безопасности для отладки. Вводим название сайта, по умолчанию, "http://localhost". Уровень безопасности доступен только в варианте: "Развернуть как решение фермы". Дело в том, что при создании визуальной веб-части создается UserControl (интерфейс пользовательского контроля), т.е. возможность создавать свои функции и обрабатываемые процедуры, работающие с внешними функциями и не попадающими под уровень безопасности изолированного кода.

Выбор степени доверия к разворачиваемому решению

Выбор степени доверия к разворачиваемому решению

Жмем "Готово" и визуальная студия в автоматическом режиме сформирует пустой проект, готовый для создания визуальной веб-части. Уже можно компилировать и разворачивать проект :-)

В нашей визуальной веб-части будем выводить список "Простое обращение", типа - "произвольный список", содержащий стандартные поля (при создании по умолчанию): ИД, Название.

Добавим исходный код для отображения списка средствами Sharepoint. Для этого в файл VisualWebPart1UserControl.ascx необходимо добавить исходный код, отвечающий за создание этого графического представления после набора директив созданных в автоматическом режиме (приведем весь исходный код):

<!-- Стандартные заголовки созданные автоматически -->
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="CountMessDep.VisualWebPart1.VisualWebPart1UserControl" %>
<-- Наш исходный код для отображения -->
<b>
Список "Простое обращение"
</b>
<!-- Объявление элемента интерфейса SharePoint SPGridView -->
<SharePoint:SPGridView ID="spGridView" runat="server" AutoGenerateColumns="false" BorderStyle="Dotted">
<!-- Представление заголовка -->
<HeaderStyle HorizontalAlign="Left" ForeColor="Navy" Font-Bold="true" />
<!-- Объявление колонок -->
<Columns>
<!-- Объявление полей столбцов (колонок): DataField имя переменной в которой хранятся данные;
HeaderText - заголовок столбца
-->
<SharePoint:SPBoundField DataField="ID" HeaderText="ИД" FooterStyle-HorizontalAlign="Left" FooterStyle-VerticalAlign="Middle">
</SharePoint:SPBoundField>
<SharePoint:SPBoundField DataField="LinkTitle" HeaderText="Название" FooterStyle-HorizontalAlign="Left" FooterStyle-VerticalAlign="Middle">
</SharePoint:SPBoundField>
</Columns>
</SharePoint:SPGridView>

Создадим функцию, которая будет отвечать за выбор необходимых данных и передачу информации в таблицу отображения SPGridView. Для этого в файле VisualWebPart1UserControl.ascx.cs объявим следующую функцию - show_my_list.  Приведем полный исходный код соответствующего файла:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Linq;
using Microsoft.SharePoint.Linq;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;

namespace CountMessDep.VisualWebPart1
{
public partial class VisualWebPart1UserControl : UserControl
{

protected void Page_Load(object sender, EventArgs e)
{
// функция отображения
show_my_list();
}

public void show_my_list()
{
// укажем на текущий сайт
SPSite oSiteCollection = SPContext.Current.Site;
// укажем на список: Site_Name - название узла или сайта
SPList oList = oSiteCollection.AllWebs["Site_Name"].Lists["Простое обращение"];
// Запрос на языке CAML
SPQuery oQuery = new SPQuery();

// Сортируем по ID
oQuery.Query ="<OrderBy>"+
"<FieldRef Name=\"ID\"/>"+
"</OrderBy>";
// поля для отображения
oQuery.ViewFields="<FieldRef Name=\"ID\"/>"+
"<FieldRef Name=\"LinkTitle\"/>";
// не более 30 записей
oQuery.RowLimit=30;

// Выполним запрос
SPListItemCollection collListItems = oList.GetItems(oQuery);

// Передадим данные в SPGridView
spGridView.DataSource = collListItems;
spGridView.DataBind();
}
}
}

После компиляции, развертывания и добавления визуальной веб-части, мы узрим список "Простое обращение" содержащийся в базе данных.

Комментариев нет

Комментариев нет.

RSS-лента комментариев к этой записи.

Извините, обсуждение на данный момент закрыто.

алгоритмы, методы, программы - OrionXL