У меня есть следующий код:
using(SPWeb web = ...
{
....
SPListItem item = GetItemById(id);
item["Status"] = status;
item["Reason"] = reason;
item.Update();
}
И я получил исключение "Невозможно выполнить это действие" ... однако, пытаясь понять это, я заметил кое-что ... странное ...
Я установил точку останова точно в строке item.Update () ... во время отладки я позволил исключению произойти, а затем пошел в окно Watch и поместил там "item.Update ()"... элемент был обновлен ...
Затем .. Я начал все сначала, но на этот раз я попытался "item.Update ()" в окне просмотра, было сгенерировано исключение .. затемЯ нажимаю F10, чтобы выполнить мой код, и, к моему удивлению, он успешно обновил элемент ..
Я пробовал это снова и снова, и всегда один и тот же ... так что по какой-то странной причине первоевремя терпит неудачу, а второй хорош .. кто-нибудь знает почему?
РЕДАКТИРОВАТЬ:
Я пробовал это:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
....
item.Update();
});
Но это все равно не удается, теперь за исключением: «Операция недействительна из-за текущего состояния» ...
РЕДАКТИРОВАТЬ 2:
это мох 2007, это веб-приложение (asp.net), подключающееся к сайту sharepoint, существуют оба столбца ..
Я нашел еще одну вещь ... если я поставлю точку останова в элементе.Update (), и я нажимаю F10, он работает .. элемент обновляется .. и исключение не выбрасывается ... но при нормальном исключении всегда происходит сбой ..