2013-10-03 5 views
0

я создал следующий метод в классе, который предназначен для извлечения всех элементов в списке SharePont и загрузить их в моей сущности:SharePoint CAML запросов: Значение не попадает в ожидаемый диапазон

public List<ItemEntity> FetchItems(SPList list) 
{ 
    // build the CAML query of field names that we wish to retreive 
    var query = new SPQuery 
     { 
      ViewFields = string.Concat("<FieldRef Name='Modified' />", 
             "<FieldRef Name='Modified By' />", 
             "<FieldRef Name='Created' />", 
             "<FieldRef Name='Created By' />") 
     }; 

     SPListItemCollection items = list.GetItems(query); 

     return (from SPListItem item in items 
       select Load("", // item id 
          "", // content type 
          "", // display name 
          "", // name 
          "", // title 
          "", // url 
          "", // author 
          "", // editor 
          Convert.ToDateTime(item["Modified"]), // date time modified 
          item["Modified By"].ToString(), // modified by 
          Convert.ToDateTime(item["Created"]), // date time created 
          item["Created By"].ToString() // created by 
        )).ToList(); 
} 

Для какая-то причина, что я не понимаю, что это бросает следующее сообщение об ошибке:

Value does not fall within the expected range.

я думал, что это может быть что-то делать с результатами, возвращенных моим CAML запросом, но даже тогда я ограничил его до мету полех данных (который, я считаю, должен существовать в каждом файле), и, к сожалению, я все еще получая ошибку. Где я иду не так?

ответ

2

Я считаю, что вам не хватает правильных внутренних имен некоторых встроенных полей.

Попробуйте использовать:

item["Author"].ToString() instead of item["Created By"].ToString() and 
item["Editor"].ToString() instead of item["Modified By"].ToString() 

Для полного ведения Sharepoint 2010 внутренних имен полей я обычно консультации по следующей ссылке: http://sharepointmalarkey.wordpress.com/2010/10/12/sharepoint-internal-field-names-sharepoint-2010/

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