ItemUpdating-Afterproperties에서 SPFieldLookupValue를 얻는 방법은 무엇입니까?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/117169

  •  29-09-2020
  •  | 
  •  

문제

List Item의 변경 사항을 기록하기 위해 ItemUpdating Event를 사용하고 있습니다.

  item["RequestType"].ToString().ToUpper() !=properties.AfterProperties["RequestType"].ToString().ToUpper()

RequestType 필드는 조회 필드이며 값을 드롭다운으로 보유합니다.

예: 두 개의 옵션 값을 포함하는 RequestType 필드.즉, 애플리케이션 및 데스크탑.

item["RequestType"].ToString()는 "1;#응용"을 표시하고 항목 업데이트에서 아무것도 변경하지 않았지만

properties.AfterProperties["RequestType"].ToString() "1" 값을 표시합니다.

내 코드의 문제는 무엇입니까?

이 오류에 대해 저에게 제안하십시오.

셰어포인트 2010을 사용하고 있습니다.

도움이 되었습니까?

해결책

Afterproperties에서 lookFieldValue를 가져오는 대신 현재 lookupfield 값에서 LookupID를 가져와서 afterproperties와 비교합니다.

afterproperties에서 lookfieldValue를 가져올 수 없는 이유는 afterproperties가 lookupID만 반환하는 반면, lookupfieldValue를 가져오려면 lookupID#lookUpValue 형식의 문자열이 필요하기 때문입니다.

var prevLookup = new SPFieldLookupValue(item["RequestType"].ToString());
prevLookup.LookupId.ToString()!=properties.AfterProperties["RequestType"].ToString()
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top