вторник, 20 ноября 2012 г.

Интересные страницы Download.aspx и CopyUtil.aspx

1. Download.aspx

Надо скачать какой-то файл с портала? Авторизовавшись, запрашиваем страницу /_layouts/download.aspx с параметром SourceUrl, в котором указываем адрес нужного файла. В ответ SharePoint вернёт содержимое файла.
Например, я хочу посмотреть, как сделана страница default.aspx, которая была добавлена в корневую папку сайта:
http://site/_layouts/download.aspx?SourceUrl=default.aspx

2. CopyUtil.aspx 

В SharePoint существует страница приложения /_layouts/CopyUtil.aspx. Совсем не просто определить её назначение по названию. На самом деле она ничего никуда не копирует, а просто перенаправляет пользователя на форму определённого элемента списка.
Использование её целесообразно при формировании списка ссылок для элементов с разных узлов, например, для отображения результата запроса, сделанного через SPSiteDataQuery. Рассмотрим, какие параметры следует добавить в адрес страницы CopyUtil.
Если нужный элемент находится на том же узле, на котором будет размещена ссылка, то достаточно добавить параметр InThisWeb=1. В противном случае мы должны как-то указать узел элемента: либо через идентификаторы, либо через адрес. Мы имеем два варианта указания нахождения элемента: по идентификаторам коллекции узлов, узла, списка и самого элемента, или же просто по адресу элемента. В первом случае нужно обязательно добавить параметры Use=id, SiteId, WebId (эти два последних игнорируются, если есть InThisWeb=1), ListId и ItemId. Во втором случае - добавить параметр ItemUrl.
Для того, чтобы открылась форма редактирования элемента, необходимо добавить параметр Action=editform. Чтобы направить пользователя на форму просмотра, добавляем Action=dispform или же вовсе пропускаем параметр Action.
Если добавить параметр Source, то он без изменения будет добавлен в адрес элемента.
Получив необходимые данные, страница CopyUtil откроет, если надо, узел, возьмёт нужный список и адреса его форм, сформирует адрес элемента и выполнит перенаправление с использованием метода SPUtility.Redirect.

Использование этой страницы вместе с публикацией имеет свои особенности и ограничения, про которые можно прочитать здесь: http://blog.mastykarz.nl/copyutilaspx-and-publishing-sites/

 

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

Отправить комментарий