Office 2007 문서와 함께 SharePoint에서 ItemUpdate 후 데이터가 사라지는 데이터

StackOverflow https://stackoverflow.com/questions/205913

문제

Item Updated 메소드에서 필요한 열 값을 변경하는 ItemAdding 이벤트가있는 간단한 이벤트 핸들러가 있습니다. Word 2007 문서 ( *.docx, *.pptx 또는 xlsx)를 업로드 한 후 열의 값이 변경되지만 문서를 보호하면 itemupdated 메소드에서 열의 값이 사라집니다. 이것은 Office 2007 문서에만 발생하며 다른 파일은 값을 지우지 않습니다.

이벤트 핸들러는 MOSS 2007의 문서 라이브러리에서 실행됩니다.

감사

도움이 되었습니까?

해결책

우리는 같은 문제가 있습니다. 목록의 속성은 Office 2007 DOC에 추가되지만 업로드/생성시 필드의 기본값 만있는 것으로 보입니다. 항목이 편집되면 사무실 문서 값이 이벤트 핸들러에서 설정 한 값을 재정의하고 있음을 경험하고 있습니다.

비동기 이벤트 핸들러를 사용할 때이를 경험하지 않지만 비동기 이벤트 핸들러는 특정 유형의 업데이트가있는 다른 스레드의 업데이트와 충돌합니다.

이 문제에 대해 Microsoft와 함께 지원 통화를 활성화합니다. 그들은 이것이 아직 결과가 아니라고 인정합니다.

비스듬한 이벤트 핸들러를 사용해보십시오 (사무실 문서에서 업데이트하는 코드보다 조금 늦게 실행).

업데이트:

해결 방법이 설정됩니다 spweb.parserenabled false는 위의 동작을 중지하는 문서 속성에 대한 연결을 제거합니다. 목록 속성이 사무실 문서에 추가되는 것을 방지합니다.

다른 팁

사무실 문서를 SharePoint에 업로드하면 문서에서 열을 추출하여 목록으로 홍보하려고합니다.

문서에 속성이 설정되어 있는지 확인하십시오. 이것이 사실이라면, 당신이 보는 것을 설명 할 수 있습니다.

참고 : 사전 문서 속성을 열고 모든 사용자 정의 속성을 삭제하여 확인하십시오.

Itemupdating 메소드에서 spweb.parserenabled = false를 넣는 문제를 해결합니다.

암호:

properties.ListItem.Web.ParserEnabled = false;

도움을 주셔서 감사합니다

spweb.parserenabled = false 설정은 작동하지만 효과가 있습니다! 매우 눈에 띄는 것은 사이트를 깨고 템플릿을 나열한다는 것입니다. spweb.parserenabled = false이고 목록 또는 사이트 템플릿을 저장하면 메타 데이터가 설정되어 있지 않으며 (기능 ID, 제품 버전 등) 선택할 템플릿 목록에서 사용할 수 없습니다. SPWEB.PARSERENABLED = ITEMUPDATED 이벤트 중에 True를 재설정 하여이 문제를 해결할 수 있지만, 이것이 모든 문제를 아직 해결할 것인지 완전히 테스트하지는 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top