2016-09-21 14 views
0

У меня есть набор элементов списка, полученных с помощью запроса CAML. Я только задал запрос для извлечения только трех элементов.Извлечение элементов списка и их отображение

Из коллекции элементов я затем хочу получить эти три элемента по индексу и вывести их в заполнители, однако в настоящее время это не работает. Есть что-то, что я пропустил?

CAML запрос:

string displayOnHomePage = "True"; 

SPQuery queryNewsItems = new SPQuery(); 

queryNewsItems.Query = @"<Where>" + 
         "<Neq>" + 
         "<FieldRef Name='DisplayOnHomePage'/>" + 
         "<Value Type='Boolean'>" + displayOnHomePage + 
         "</Value>" + 
         "</Neq>" + 
         "</Where>" + 
         "<OrderBy>" + 
         "<FieldRef Name='ImageCreateDate' Ascending ='False'/>" + 
         "</OrderBy>"; 

queryNewsItems.RowLimit = 3; 
SPListItemCollection newsItemsCollection = newsItems.GetItems(queryNewsItems); 

Получение первого элемента списка и пытается отобразить их на странице с помощью держателя Место:

string newsHeadlineItem1 = newsItemsCollection[0]["NewsHeadline"].ToString(); 
string newsDescriptionItem1 = newsItemsCollection[0]["NewsDescription"].ToString(); 

plhNewsHeadlineItem1.Controls.Add(new LiteralControl(newsHeadlineItem1)); 
plhNewsDescriptionItem1.Controls.Add(new LiteralControl(newsDescriptionItem1)); 

Получение второго элемента списка и пытается отобразить их на страница с использованием держателя места:

string newsHeadlineItem2 = newsItemsCollection[1]["NewsHeadline"].ToString(); 
string newsDescriptionItem2 = newsItemsCollection[1]["NewsDescription"].ToString(); 

plhNewsHeadlineItem2.Controls.Add(new LiteralControl(newsHeadlineItem2)); 
plhNewsDescriptionItem2.Controls.Add(new LiteralControl(newsDescriptionItem2)); 

Резонанс Я не использую передний h, чтобы перебирать элементы коллекции, заключается в том, что я хочу контролировать, к какому заполнителю они отображаются, например.

Первый элемент будет выводиться на заполнители plhNewsHeadlineItem1 и plhNewsDescriptionItem1.

Второй элемент будет выводиться на заполнители plhNewsHeadlineItem2 и plhNewsDescriptionItem2.

И аналогичным образом для элемента thrid будет выводиться на заполнитель plhNewsHeadlineItem3 plhNewsDescriptionItem3.

Правильный ли подход к доступу и отображению трех элементов списка из набора элементов, полученных запросом CAML?

ответ

0

Это фактически работает, проблема была в библиотеке/списке, который я использовал (оригинал, созданный из шаблона списка) по какой-то причине поля не собирались. Я удалил библиотеку/список и заново создал его, и все это волнует, как ожидалось.

 Смежные вопросы

  • Нет связанных вопросов^_^