실패의 listItem.Update는 NullReferenceException이 실패 객체의 현재 상태로 인해 유효하지 않습니다. "SPListItem.Update는 다음 코드 블록을 사용하여
예, 그렇기 때문에 나는 빗어 봤습니다. 성공없이 많은 순열을 시도했습니다.
아이디어가 있으십니까?
업데이트 : 첫 번째 코멘트 후, 나는 그것이 더 나은 지냈다 있는지 확인하기 위해 코드에서 익명 대리자를 제거하려 :
// store the selected item to pass between methods
public T SelectedItem { get; set; }
// set the selected item and call the delegate method
public virtual void Save(T item)
{
SelectedItem = item;
try
{
SPSecurity.RunWithElevatedPrivileges(SaveSelectedItem);
}
catch
{
}
}
public virtual void SaveSelectedItem()
{
if (SelectedItem != null)
{
using (SPSite site = new SPSite(this.SiteUrl))
{
using(SPWeb web = site.OpenWeb())
{
SPList list = web.Lists[this.ListName];
SPListItem listItem = list.Items.Add();
//UpdateListItem(listItem, SelectedItem);
listItem["Background"] = "foo";
listItem.Update();
}
}
}
}
그리고이 계속 실패 "작업으로 인해 현재에 유효하지 않습니다 개체의 상태. " 두 코드 샘플 모두 site.Impersonating이 false 인 것 같습니다. Windows 인증 및 가장을 web.config에 사용하고 있습니다. 이것은 ASP.Net 개발 서버에서 실행 중입니다.