SP2010 получает альбомы и изображения из фотогалереи с клиентской объектной моделью - PullRequest
0 голосов
/ 04 февраля 2011

У меня есть библиотека фотогалереи. Я хочу получить все альбомы и их изображения. Теперь я получаю все альбомы (элементы корневого уровня) с чем-то вроде этого:

ClientContext ctx = new ClientContext(_url);
_mylib = web.Lists.GetByTitle("mylib");
_albums = _list.GetItems(new CamlQuery());

_albums представляет альбомы в корне галереи. Как получить файлы / элементы в каждом из этих альбомов?

mylib
-album1
--image1.jpg
--image2.jpg
-album2
--image1.jpg
...

1 Ответ

1 голос
/ 22 июля 2011

Это было некоторое время назад, но я думал, что попаду сюда, добавлю RecursiveAll, чтобы пройти через все, и FSObjType, чтобы не включать папки в список.инициализируйте свойства, к которым вы хотите получить доступ из списка.(Ответ о том, к каким свойствам вы можете получить доступ, находится где-то здесь на SO, но я не могу найти пост на всю жизнь ...)

ListItemCollection listItems = null;    
List documentsList = ctx.Web.Lists.GetByTitle("mylib");

CamlQuery camlQuery = new CamlQuery();

camlQuery.ViewXml = @"<View Scope='RecursiveAll'>
        <Query>
            <Where>                               
                <Eq>
                    <FieldRef Name='FSObjType' />
                        <Value Type='int'>1</Value>
                </Eq>
            </Where>
        </Query>
    </View>";

listItems = documentsList.GetItems(camlQuery);
ctx.Load(
                 listItems,
                 items => items
                     .Include(
                        item => item["ID"]
                 ));

ctx.ExecuteQuery();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...