신속 하 고 쉽게: Spitemlist의 Spfolder를 얻을

이 문제를 실행 하는 계속 하 고 Google 이해 무엇을 원하는 것으로 보인다, 그래서 이것을 쓸 것 이라고 생각.

지난 주 또는 2에서 디버깅 하는 이벤트 수신기의 많은 해 왔습니다.. 응급실은 문서 라이브러리에 대 한 정의. 문서 라이브러리에 있는 개별 항목 부모 폴더에 밀접 하 게 관련. 그래서, 다양 한 조작에 대 한 항목의 폴더를 항상 있어요. 디버깅 하는 동안, 특정 항목의 ID를 알고에 대 한 폴더의 메타 데이터를 업데이트 하는 데 필요한.

여기는 작은 콘솔 응용 프로그램 (팜의 서버에서 실행 하도록 설계) 두 개의 인수를 사용 하는: 필드에 할당할 값을 항목 ID, "승인 상태". 하드 코드 물건을 많이 하 고 없습니다 오류 검사.

코드는 하드 코딩 된 사이트를 조회, 하드 코딩 된 문서 라이브러리를 가져오고 표시 된 항목을 찾습니다.. 다음 해당 항목의 상위 폴더를 찾습니다 및 상태 값을 할당 합니다..

나를 위해 주요 교훈을 여기는 SPItem 폴더에 대 한 액세스를 하지 않습니다.. SPListItem.File를 사용 해야.

만약 아무도 관심 비판을 제공 하거나 항목의 폴더를 얻을 수 있는 더 나은 방법 제안, 코멘트를 남겨 주세요.

<코드>
사용 하 여 시스템;
사용 하 여 System.Collections.Generic;
사용 하 여 System.Text;
사용 하 여 Microsoft.SharePoint;
사용 하 여 System.Collections;

네임 스페이스 Conchango
{
    /// <요약>
 /// </요약>
 클래스 ManualFolderUpdate
    {
        정적 void 메인(문자열[] args)
        {
            문자열 msh = "ManualFolderUpdate (v1.0): "; // msh "메시지 머리글 ="

 콘솔.WriteLine(msh + "시작.  08/04/08에 마지막으로 바뀌었습니다.");

            문자열 url = http://localhost/xyzzy;

            사용 하 여 (SPSite oSPSite = 새로운 내용 SPSite(url))
            {

                사용 하 여 (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    SPList docLib = oSPWeb.Lists["문서"];

                    콘솔.WriteLine(msh + "문서 라이브러리를가지고.");

                    콘솔.WriteLine(msh + "Doc lib 항목 수: [" + docLib.ItemCount + "].");

                    int FolderID = 0;
                    문자열 NewStatus = "xyzzy";

                    FolderID 시스템 =.변환.ToInt32(args[0].ToString());
                    콘솔.WriteLine("폴더 항목에 대 한 추구: [" + FolderID + "].");

                    SPListItem li docLib.GetItemById =(FolderID);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    콘솔.WriteLine(msh + "상위 폴더 있어.");

                    NewStatus args =[1].ToString();
                    콘솔.WriteLine("설정 상태를 [" + NewStatus + "].");

                    콘솔.WriteLine("중단 업데이트 또는 CTRL-C를 커밋 반환을 누릅니다.");

                    콘솔.ReadLine();

                    thisItemFolder.Item["승인 상태"] = NewStatus;
                    thisItemFolder.Item.Update();

                    콘솔.WriteLine(msh + "폴더를 업데이트 완료.  종료.");

                } // Spweb를 사용 하 여

            } // 사용 하 여 SPSite

 콘솔.WriteLine(msh + "완료.");

        } // 메인

    } // 클래스 foldersync
} // 네임 스페이스
</코드>

</끝>

내 블로그를 구독.

테크노 태그:

응답을 남기다

귀하의 이메일 주소는 공개되지 않습니다. 필요 입력 사항은 표시되어 있습니다 *