2013-07-31 2 views
0

У меня есть список Sharepoint 2010. Я написал код приемника событий, чтобы обновить значение поля в добавленном событии. Я получаю правильный результат, но он не обновляет значение поля, пока я не обновляю список. Зачем?Event Receiver не влияет на обновление списка

Код:

public override void ItemAdded(SPItemEventProperties properties)  
{ 
     base.ItemAdded(properties); 

     SPWeb web = properties.OpenWeb(); 
     SPList list = properties.List; 
     int highestValue = 0; 

     SPQuery query = new SPQuery(); 
     query.Query = @"<OrderBy> 
         <FieldRef Name='NextNo' Ascending='FALSE' /> 
        </OrderBy><RowLimit>1</RowLimit>"; 

     SPListItemCollection itemcollection = list.GetItems(query); 
     if (itemcollection.Count > 0) 
     { 
      SPListItem item = itemcollection[0]; 
      highestValue = Convert.ToInt32(item["NextNo"]); 
     } 

     SPListItem currItem = properties.ListItem; 
     currItem["NextNo"] = highestValue + 1; 
     currItem.Update(); 
}  

ответ

1

Вы должны использовать приемник ItemAdding событий в этом пожаров, прежде чем список будет обновлен и покажет изменения. Событие ItemAdded запускается после того, как список обновлен, следовательно, необходимо обновить.

+0

Спасибо пескам ... – user18348

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