Разработка визуальной веб-части — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Разработка визуальной веб-части

2022-11-27 28
Разработка визуальной веб-части 0.00 из 5.00 0 оценок
Заказать работу

Самыми часто разрабатываемыми компонентами для SharePoint являются веб-части. SharePoint 2010 теперь предлагает шаблоны проектов, которые содержат всю необходимую функциональность для поддержки немедленного развертывания различных объектов, таких как рабочие потоки, получатели событий, веб-части, объекты подключения к коммерческим данным и даже определения списков (и это далеко не полный перечень). Разработчики, которые ранее пользовались SharePoint 2007. будут рады обнаружить, что упаковка этих компонентов в решение SharePoint (. wsp) теперь осуществляется автоматически.

Ниже демонстрируется пример создания визуальной веб-части (Visual Web Part) для отображения списка объявлений в специальном формате. Для иллюстрации некоторых последних улучшений, как в.NET, так и в SharePoint 2010, в этом примере применяется LINQ и элемент управления ListView. Технология L1NQ представляет собой усовершенст-вованный инструмент для создания запросов, который позволяет разработчикам ссылаться на объекты баз данных непосредственно в виде собственных типов. Элемент управления ListView представляет собой новый мощный компонент пользовательского интерфейса, который позволяет разработчикам полностью управлять генерируемым HTML-выводом с помощью определяемых самостоятельно шаблонов.

Для создания визуальной веб-части в системе с установленной копией SharePoint Server 2010 версии Standard или Enterprise и Visual Studio 2010 версии Professional или Ultimate выполните следующие действия.

ТЧпшфёнй^фвдТ^агеГгапГ Часть VI

1. Выберите сайт в коллекции сайтов SharePoint, предназначенных для разработки. В этом примере используется коллекция сайтов, созданная под коллекцией сайтов портала верхнего уровня (http: //abcspl004/sites/VSTest). На этом сайте должен присутствовать список объявлений и библиотека изображений. Если они отсутствуют, их необходимо создать. Чтобы код в этом примере работал, списку объявлений нужно назначить имя Announcements (Объявления). Библиотеке изображений можно назначить любое имя, т.к. код на нее напрямую не ссылается. В данном примере предполагается, что библиотека имеет имя Images (Изображения).

800

2. Добавьте в список объявлений несколько столбцов, а для остальных параметров оставьте значения, предлагаемые по умолчанию. Добавляемые столбцы и соответствующие параметры описаны в табл. 29.4.

Таблица 29.4. столбцы, которые нужно добавить в список Announcements

Столбец

Тип данных

Человек или группа Дата и время

Author (Автор)

Start Date (Дата начала) Picture (Рисунок)

Гиперссылка или рисунок (в поле Format URL As (Форматировать URL как) выберите вариант Picture (Рисунок))

3. Загрузите в библиотеку рисунков какое-нибудь изображение. После загрузки скопируйте его URL-адрес, создайте объявление и вставьте этот URL-адрес в поле Picture (Рисунок). На рис. 29.12 показан список Announcements с записью, ссылающейся на рисунок.

Budget

Lfranes

Lets

Announcements

$ао£КЮ

$60.000

,.v II

Для создания в Visual Studio проекта, который будет использоваться в приведенном ниже упражнении, выполните следующие действия.

1. Откройте Visual Studio 2010, щелкнув на кнопке Start (Пуск) и выбрав в меню пункт All Programs1^ SharePoint1^ Microsoft Visual Studio 2010 (Все п рограммы1^ Share Point^Microsofi Visual Studio 2010).

2. При открытии Visual Studio в первый раз понадобится настроить параметры, которые должны использоваться в среде по умолчанию. Разные разработчики имеют различные предпочтения в этом отношении, но для упражнений этой главы достаточно настройки параметров в разделе General Development Settings (Общие параметры разработки).

3. Когда Visual Studio откроется, выберите в меню File (Файл) пункт NewO Project (СоздатьОПроект).

4. В окне New Project (Новый проект) выберите Visual C# и найдите узел SharePoint в списке вариантов в панели слева. Раскройте узел SharePoint и выделите элемент 2010, как показано на рис. 29.13.

 
[J‘ETFramBrk-4»|дагт^у  
  tbICI
*■— « VMic11
  fcriCt
  Wuict
towPMiCcfihWiHadj MsuriC*
bfniRtato MCI
UrtDeNtan ШС1
Tftn СтяЛТяе MCI
Меси» ШС*
j SI ЛОЛЛ» DuiC<
  HuiC*
  ±1SL
fcj Д 5мД1»ШТиг[Д||в р) 7 ТЯС МшЛСЯ  

am

5. В центральной панели выберите шаблон Visual Web Part (Визуальная веб-часть). Назначьте проекту Visual Web Part имя EventWebPart, после чего оно будет автоматически вставлено в поле Solution name (Имя решения). Проверьте, является ли подходящим место, в котором Visual Studio 2010 создаст структуру папок для этого проекта. Щелкните на кнопке ОК.

ВНИМАНИЕ!

В случае если на машине не установлена копия SharePoint 2010, появится сообщение об ошибке. Если используемой учетной записи не хватает разрешений, также появится сообщение об ошибке. В такой ситуации понадобится перезапустить Visual Studio 2010, щелкнув правой кнопкой мыши на соответствующем элементе в меню Start и выбрав в контекстном меню пункт Run as Administrator (Запуск от имени администратора).

НА ЗАМЕТКУ

Для языков Visual C# и Visual Basic доступны следующие шаблоны: Empty SharePoint Project (Пустой проект SharePoint), Visual Web Part (Визуальная веб-часть). Sequential Workflow (Последовательный рабочий поток). State Machine Workflow (Рабочий поток в виде конечного автомата). Business Data Connectivity Model (Модель связности с бизнес-данными), Event Receiver (Получатель событий), List Definition (Определение списка), Content Туре (Тип содержимого). Module (Модуль), Site Definition (Определение сайта). Import Reusable Workflow (Импорт многократно используемого рабочего потока) и SharePoint Solution Package (Пакет решений SharePoint).

6. Откроется диалоговое окно SharePoint Customization Wizard (Мастер настройки SharePoint). Введите в нем URL-адрес целевого сайта SharePoint со сконфигурированным ранее списком Announcements на сервере, где Visual Studio развертывает код. В этом примере URL-адресом является http://abcspl004/sites/vstest. Щелкните на кнопке Validate (Проверить). Visual Studio 2010 проверяет, отвечает ли указанный URL-адрес, и функционирует ли там надлежащая версия SharePoint 2010. после чего отобразит сообщение Connection Successful (Подключение прошло успешно). Щелкните на кнопке ОК. чтобы закрыть это сообщение. Проверьте, что выбран переключатель Deploy as Farm Solution (Развернуть как решение фермы), как показано на рис. 29.14, и щелкните на кнопке Finish (Iotobo). Результирующее представление должно быть примерно таким, как на рис. 29.15.

7. По умолчанию Visual Studio создает веб-часть по имени VisualWebPartl, как видно в окне Solution Explorer (Проводник решений) в правой части рис. 29.15. (Если это окно не отображается, выберите в меню View (Вид) пункт Solution Explorer (Проводник решений).) Чтобы назначить веб-части более понятное имя, откройте файл VisualWebPartl.webpart, дважды щелкнув на нем, и откроется новая вкладка.

- -1_

Speofy Che Ac sod semrtty level hr debugging

U№at local sttedoyouwaatto use for debugging?

3 [ Vfliftatg |

Whstbthetnst level for this SharePoint sdfcitiwi?

Г Оерктул. ■i»i»dbo«f4l *olutKni

Oddng IN* ejrtontauaea the sgkjttontobe decoyed aiaSaretooxedwJutton. Sandboxed «Mens can be deployed by the arte aflection owner and are rui na secure, moritnred process lhat has tfpted resource aceen.

f? Deploy м a form Mkibon

Oiddng fra cptton news thet users must have SharePont atahstrator privleges to run or dqrfoy the solution.

Uam men &*ЛвгЛхр& яМй»

Разработка приложений с помощью ЗЬагетЯп^ИИЩКёгТИ^Р^^^^^^

~ ~ I 803 Глава 29 1_

«СКцг'оМ fSua
 
_____Г, .id**»» ■MAcMi ШМ■
  C^pytoOufciJtDHDorotcVT
  fcstonThd
  IMK1WMK I
  Г" '**=- т- ^
  МумосА
Рис. 29.15. Новый проект Visual Web Part в Visual Studio 2010  

НА ЗАМЕТКУ

Изолированные (sandboxed) решения являются более безопасными, т.к. могут развертываться в коллекции сайтов, а не на целой ферме. Безопасность их выполнения выше за счет применения комбинации средств, галерей решений, мониторинга решений и платформы для проверки достоверности. Кроме того, сборка, в которую они компилируются, не загружается в процесс IIS (w3wp.exe); вместо этого она загружается в отдельный процесс (SPUCWorkerProcess.exe), который более тесно контролируется и управляется SharePoint 2010. Однако изолированные решения имеют кое-какие ограничения, например, не предоставляют возможности использовать определения сайтов и рабочие потоки и позволяют применять только те типы в Microsoft SharePoint Foundation 2010, которые предлагаются в сборке Microsoft.SharePoint. Любой проект имеет булевское свойство под названием Sandboxed Solution (Изолированное решение), которое можно изменять. Тем не менее, модификация этого свойства проекта после его создания может привести к возникновению ошибок проверки достоверности. Решения ферм требуют привилегий более высокого уровня для своего запуска или развертывания.

8. На новой вкладке в редакторе кода, в разделе <properties> замените текст свойства Title с VisualWebPartl на Event Web Part, в следующей строке замените текст My Visual Web Part на Web Part to Display Events with an Image и щелкните на значке Save (Сохранить). На рис. 29.16 показан результат (две измененные строки выделены). Щелкните на значке Save, чтобы сохранить проект.

9. Перед добавлением в визуальную веб-часть любого кода или компонентов пользовательского интерфейса выполните ее отладку, выбрав в меню Debug (Отладка) пункт Start Debugging (Запустить в режиме отладки). Отладка веб-части перед добавлением кода или компонентов пользовательского интерфейса позволяет удостовериться в том, что среда проекта и разработки работает так, как ожидалось. В данном случае должны быть выполнены упаковка и развертывание решения, а по окончании — его удаление.

НА ЗАМЕТКУ -

После выбора пункта Start Debugging может появиться сообщение об ошибке вида The Project Cannot Be Debugged Because Debugging Is Not Enabled in the Web.config file (Отладка этого проекта невозможна, поскольку функция отладки не включена в файле web. conf ig). В этом случае понадобится выбирать опцию Modify the Web.Config File to Enable Debugging (Изменить файл web.config, чтобы включить отладку) или опцию Run Without Debugging (Запустить без отладки). Кроме того, в этом окне сообщения отображается примечание, информирующее о том, что в производственных средах SharePoint 2010 отладка должна отключаться, поэтому следует соблюдать осторожность. Отладка важна во время разработки, поэтому обычно выбирают опцию Modify the Web.Config Rle to Enable Debugging.

НА ЗАМЕТКУ -

Установка решения в SharePoint 2010 с помощью Visual Studio 2010 за счет его развертывания или отладки может сопровождаться запуском программы IISReset, которая приводит к временной недоступности всех H i '1Р-запросов.

10. Откроется окно браузера с сайтом SharePoint как часть процесса отладки из-за необходимости в ручном добавлении веб-части на сайт SharePoint. Выберите в раскрывающемся меню Site Actions (Действия с сайтом) пункт Edit Page (Редактировать страницу).

11. Щелкните в зоне страницы на ссылке Add a Web Part (Добавить веб-часть).

12. Щелкните на папке Custom (Специальная) в списке Categories (Категории) под интерфейсом ленты и выберите веб-часть Event Web Part. Щелкните на кнопке Add (Добавить), после чего веб-часть должна появиться в выбранной зоне. На рис. 29.17 показано, как будет выглядеть результат после добавления на страницу веб-части под названием Event Web Part.

Puc. 29.17. Добавление вебчасти на страницу во время отладки

m

Глава 29 I

13. При необходимости, что зависит от того, к какому типу относится редактируемый сайт, щелкните на кнопке Save (Сохранить) и опубликуйте страницу. Закройте окно браузера и вернитесь в Visual Studio.

14. В Visual Studio отладка завершается, и в окне Output (Вывод) отобразятся выполненные по ходу действия, где завершающим является удаление решения.

15. Для использования LINQ в этом проекте добавьте ссылку на сборку Microsoft. SharePoint.Linq. Для этого в окне Solution Explorer щелкните правой кнопкой мыши на папке References (Ссылки) и выберите в контекстном меню пункт Add Reference (Добавить ссылку).

16. Перейдите на вкладку.NET, прокрутите ее примерно до середины вниз, найдите и выберите элемент Microsft. SharePoint. Linq. Щелкните на кнопке OK, чтобы сохранить эту ссылку, после чего она появится под узлом References.

17. Запустите программу SPMetal из командной строки, чтобы сгенерировать файл класса LINQ. Для этого откройте окно командной строки, щелкнув на кнопке Start (Пуск), введя cmd в поле для поиска и нажав <Enter>.

18. Перейдите в папку c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN.

19. Введите показанную ниже команду, чтобы сгенерировать файл класса LINQ по bvtyb EventLinq.cs, который веб-часть сможет использовать для считывания созданного ранее списка объявлений. На месте выделенного курсивом текста должен быть указан путь к каталогу проекта, в который SPMetal поместит файл EventLinq.cs. На рис. 29.18 показан пример с указанием на месте кмя_сервера_и_коллекции_сайтов пути http://abcspl004/sites/vstest, а на месте имя_польэователя — пути administrator-abc (который является каталогом для проекта EventWebPart). После ввода нажмите <Enter>.

spmetal.exe /web: http://s имя_сервера_и_коллекции_сайтов

4>/code: "с: \Users\nMii_nc^b30Ba!re.ntf\Documents\Visual Studio 2010\Projects\

4>EventWebPart\EventWebPart\EventLinq. cs" /namespace: EventWebPart

• «, rilrcsf-opjW'.T Files\Hicr«>' of t Sk»r“fKlfcb S» iwr 1олс\44чВ1Мчз|» т'

t*l.»xe /ueJ)^ ttp:/' «4bc-pl0*'-4/'aitesy«s^r*ct /code: “c i.i i1-1lo<

'A

MneetssUic1**! Studio 2010\Р»ч» jects\Eve.i»t<-:‘hrnrt\Euer>eUebP:>rt\Eueiit Мич«*'с>' -n*nr ipace:EventUebPart„

Рис. 29.18. Запуск SPMetal. ехв для создания файла EventLinq. cs

НА ЗАМЕТКУ -

LINQ позволяет разработчикам получать доступ к данным с применением строго типизированных объектов.NET. Поставляемая в составе SharePoint 2010 программа SPMetal.exe генерирует файл класса LINQ, который дает возможность использовать эти строго типизированные компоненты.NET.

СОВЕТ -

Программа SPMetal.exe может сообщить об ошибке The Web Application at http:// servername Could Not be Found (He удалось обнаружить веб-приложение по адресу http: //имя_севера), если не предоставлено имя пользователя и пароль или, в некоторых случаях, если имя сервера SharePoint не добавлено надлежащим образом в коллекцию отображения альтернативного доступа.

20. Никаких сообщений не выводится, а по завершении процесса появится приглашение командной строки. Закройте окно командной строки и вернитесь в Visual Studio.

21. После успешной генерации файл кода EventLinq. cs можно использовать в проекте EventWebPart. Щелкните правой кнопкой мыши на заголовке этого проекта в окне Solution Explorer. В появившемся контекстном меню выберите пункт Add^Add Existing Item (ДобавитьОДобавить существующий элемент).

СОВЕТ -

Если этот файл отсутствует в каталоге проекта, поищите его в каталоге решения, который часто имеет то же имя, что и каталог проекта. Если так и случилось, запустите программу SPMetal. ехе снова и позаботьтесь, чтобы в выходном пути содержался полный путь к проекту.

22. В открывшемся диалоговом окне выберите созданный ранее файл EventLinq. cs и щелкните на кнопке Add (Добавить), как показано на рис. 29.19. После этого файл EventLinq.cs должен появиться в окне Solution Explorer.

23. Щелкните на кнопке Save (Сохранить) в Visual Studio, чтобы сохранить изменения.

24. Найдите в окне Solution Explorer файл VisualWebPartlUserControl. ascx и откройте его двойным щелчком.

25. Щелкните на кнопке Split (Разделить) под активной вкладкой для VisualWebParti UserControl.ascx.

Глава 29

- faaiWtbPrt - EvenfttcMri -

ьД

Г SeenJiC’^tWet#1**

Organs - HtwfoMf

A»*

^ Feabn* ДРкЬде

A*

A 1*9*4 Jf Pi'uperOe» I

^Fn«to

■ DMhtap

j^Dwriawh

%R(nntlbcB

Qs

Ffefofer Fte fitter

1

ПеЫв

AiUnria

i^Doamerti

/iMc

i^FkVtl

|p»hWB<lted__|Тя»

tfapDV) 9:74PM ЗДИ/»*0в:*4РМ 4 /n/ 20 » 8 :MFM 6/28/2CW B:MPW •/Д/2О10ГЗЗРМ

Дадаогоэрм

E/Mloe:?4PM WVVKHFM

№B/aD10«;33PM

«ДОаоюкзэт «/ав/аив:94рм _1

*) |AO Ftlesf*-*)

Fuc. 29,19. Добавление элемента EvsntLlnq. cs e проект

26. Выберите в меню View (Вид) пункт Toolbox (Панель элементов управления), чтобы отобразить панель Toolbox (Элементы управления). Отыщите компонент ListView в узле Data (Данные) и перетащите его в область визуального конструктора (которая должна была открыться после щелчка на кнопке Split), как показано на рис. 29.20, где компонент ListView уже находится в этой области.

27. Вернитесь к представлению исходного кода, щелкнув на кнопке Source (Исходный код) в окне редактирования WebPartlUserControl. ascx. Поместите курсор после следующего кода:

<asp:ListView ID="ListViewln runat="server">

28. Поместите в файл следующий код; результат показан на рис. 29.21. Обязательно измените значение в href так, чтобы на месте имясервера_и_ сайта SharePoint было указано имя применяемой для тестирования коллекции сайтов и конкретного сайта:

<LayoutTemplate>

<asp:PlaceHolder runat="server" ID="itemPlaceholdernX/asp:PlaceHolder></LayoutTemplate>

<ItemTemplate>

<div style=nwidth: 10 C%;float:leftn>

<a href =”http: //имя_сервера и_сайта5ЛагеРо1п<:/lists/announcements/ 4>DispForm.aspx?id=<%#Eval("ID”)%>"><%#Eval("Title")%></a>

<br />

<img src="<%#((String)Eval("Picture")).Substring(0,((String)

Eval("Picture")).

IndexOf(" ")-1)%>"style="width:160px; height:120px; padding:3px" tbalign=,,left" alt="">

<%#Eval("Body")%>

</div>

</ltemTemplate>

<ItemSeparatorTemplate>

<hr />

</ItenSeparatorTemplate>

НА ЗАМЕТКУ

Добавление компонента Listview с использованием представления визуального конструктора позволяет Visual Studio 2010 необходимым образом обновить префиксы для импорта и дескрипторов.

НА ЗАМЕТКУ -

Использование функции Eval О с объектами LINQ позволяет довольно легко вставлять код прямо в веб-часть; однако в некоторых случаях результат Eval () необходимо изменять. Код внутри дескриптора <iing демонстрирует применение стандартных строковых операций.NET в отношении результатов, полученных от Eval ().

29. В окне Solution Explorer щелкните на кнопке с изображением знака “плюс” рядом с файлом VisualWebPartlUserControl.ascx; отобразится имя дочернего файла VisualWebPartlUserControl. ascx. cs. Дважды щелкните на этом имени и вставьте в файл показанный ниже код внутрь метода Page_Load. Как и ранее, не забудьте указать на месте имя_сервера_и_сайта5ЛагеРо1л t название надлежащего сайта. На рис. 29.22 показан результат с выделенными новыми строками кода

EventLinqDataContext dsEvent = new

'feEventLinqDataContext("http: //имя_сервера_и_сайта5ЬагеРо1пГ ');

ListViewl.DataSource = dsEvent.Announcements.GetEnumerator();

ListViewl.DataBind();

Puc. 29.22. Добавление кода в файл VisualWebPartlUserControl. ascx. cs

30. Щелкните на кнопке Save (Сохранить), чтобы сохранить проделанную работу.

31. Чтобы выполнить откладку решения, выберите в меню Debug (Отладка) пункт Start Debugging (Запустить в режиме отладки) или просто нажмите клавишу <F5>.

32. Снова откроется окно браузера с домашней страницей сайта. Если веб-часть на странице отсутствует, отредактируйте страницу таким же, как и ранее образом, добавив веб-часть Event Web Part в соответствующую зону. На рис. 29.23 показано, что примерно должно получиться в результате.

33. Закройте окно браузера и вернитесь в Visual Studio, позволив процессу отладки завершиться.

Q ПдегМВ* ^AJJSJteContw

Puc. 29.23. Готовая ве&часть Event Web Part, отображаемая во время отладки

Хотя результат не особенно впечатляет, данная веб-часть довольно сильно отличается от обычной веб-части с представлением списка, пример которой был показан на рис. 29.4. В обычной веб-части размер изображения не изменялся, как это сделано в коде WebPartlUserControl.ascx. Конечно, корреспондент библиотеки изображений может просто пойти в нее и изменить размер изображения вручную, но это потребует определенных затрат. Обратите внимание, что на рис. 29.23 заголовки столбцов не отображаются. Это улучшает внешний вид веб-части и является примером удовлетворения довольно часто высказываемой просьбы сделать так, чтобы страница менее напоминала страницу SharePoint.

п’iimum'dvi.whim < ipp«immrr

Глава 29

РЩШЧ'ЛЦ'Щ ИЧИ

811


Поделиться с друзьями:

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.013 с.