C# 내에서 프로그래밍 방식으로 SharePoint 스타일 라이브러리에 액세스

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

  •  05-07-2019
  •  | 
  •  

문제

첫째, 저는 C# 및 SharePoint의 초보자입니다(경험한 지 한 달도 안 됨). 이것이 명백하거나 쉬운 질문이라면 사과드립니다. 하지만 며칠 동안 전혀 성공하지 못한 채 인터넷을 검색해 왔습니다.

새 웹 사이트 내에서 '스타일 라이브러리' 하위 디렉토리에 저장한 xslt 파일이 있는데 C# 내에서 이 파일에 어떻게 액세스할 수 있습니까?

SPSite와 SPWeb을 살펴봤지만 둘 다 내가 원하는 것을 제대로 수행할 수 없는 것 같습니다.

모든 도움을 감사히 받아들일 것입니다.

많은 감사

c#새내기

도움이 되었습니까?

해결책

다음은 목록에서 목록 항목을 검색하기위한 약간의 코드입니다.

SPList list = web.Lists["MyLibrary"];
            if (list != null)
            {
                var results = from SPListItem listItem in list.Items
                              select new 
                              {
                                  xxx = (string)listItem["FieldName"]),
                                  yyy  = (string)listItem["AnotherField"],
                                  zzz = (string)listItem["Field"]
                              };
            }

파일을 검색하려면 SPWEB 에서이 메소드를 사용할 수도 있습니다. getFiLeasString

다른 팁

패트릭,

C#과 SharePoint를 모두 즐기시기 바랍니다!

기사를 확인해보세요 여기.

끝까지 읽어보시면 필요한 모든 도움을 받으실 수 있을 것입니다.

건강 상태.

LINQ없이 :

int itemId = getItemId();
SPWeb currentWeb = SPContext.Current.Web;
SPList list =  currentWeb.Lists["MyList"];
if ( list != null )
{
     SPListItem theItem = list.Items.GetItemById(itemId);
     doWork(theItem);
}

SPWEB를 여러 가지 방법으로 검색 할 수 있습니다. SPCONTEXT를 사용하면 코드가 SharePoint에서 호출되면 작동합니다. URL에서 spweb 객체를 얻으려면 spsite 객체를 사용할 수 있습니다.

using ( SPSite site = new SPSite(urlToWeb) )
{
   using (SPWeb web = site.OpenWeb())
   {
     doWork(web);
   }
}

'사용'명령문은 관련 객체에서 'dispose ()'를 불러서 비 관리 리소스가 적시에 재생되도록합니다.

HTH, JT

그대로 효과적입니다 진짜 12 Hive와 콘텐츠 데이터베이스에 문서를 저장하는 것과 관련하여 모범 사례를 살펴보십시오.

레밍 경로를 선택하기 전에 고려해야 할 훨씬 더 확장 가능한 답변이 있습니다.

이에 대한 도움을 주셔서 감사합니다. 나는 각각에서 조금 사용했고 추가 독서를했으며 다음을 생각해 냈습니다.

private static string getXsl()
{
    string xslString = null;
    using (StreamReader streamReader = new StreamReader(
        File.Open(HttpContext.Current.Server.MapPath(@"~_layouts\theXSL.xslt"), FileMode.Open)))
    {
        xslString = streamReader.ReadToEnd();
    }
    return xslString;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top