2009-07-12 2 views
0

친애하는 모든, 나는 목록에서 목록 항목을 유도 할 수있는 웹 파트를 개발하기 위해 SharePoint 개체 모델을 사용하고왜 셰어 변경 URL을 피하기 위해 그

다른 웹 응용 프로그램, 나는 그것이 "모든 URL의 대체합니다 변경

나는" http://myhost/ "가 아닌 다른 웹 응용 프로그램에서 내 웹 파트를 사용
protected override void CreateChildControls() 
{ 
    SPSite site = new SPSite("http://myhost/"); 
    ListViewByQuery lview = new ListViewByQuery(); 
    SPWeb web = site.OpenWeb(); 
    lview.List = web.Lists["Tasks"]; 
    lview.Query= new SPQuery(lview.List.Views["All Tasks"]);  
    this.Controls.Add(lview); 
} 

, 나는"http://mysite "에서 사용 거라는했다 myhost "에서"mysite "로, 왜 shrepoint가 그렇게하는지, 그리고 arrount를 걸을 방법을 설명합니다. 귀하의 답변

덕분에

답변

2

난 당신의 코드 쿼리를 동일한 서버에 다른 웹 응용 프로그램을 테스트 한 당신이 설명하는 문제를 재현 할 수 있습니다. 이는 SharePoint가 상대 URL을 절대 대신 렌더링하는 것이기 때문에 발생합니다. 따라서 현재 웹 응용 프로그램에 잘못 연결되어 있습니다.

SharePoint는 실제로 Reflector에 따라이 렌더링을 통해 실제로 어떤 작업을하는지 모호합니다. Microsoft는 다른 웹 응용 프로그램에 대해이 컨트롤을 사용하지 않는 것으로 보입니다. 이 경우 문제를 해결하기위한 내 방법은 URL을 수정하는 데 jQuery (examples on SO, End User SharePoint) 또는 HTTP 모듈을 사용하는 것입니다.

(모두 지원 가능성에 문제가 있습니다 ... 마이크로 소프트는 어떻게 변경되는지 향후 서비스 팩이 제어 출력 또는 사용자 정의 암호를 해독 할 공개 할 수 있습니다.)

편집 : 키트의 의견에 따라 수정 .

편집 2 : 다시 작성.

+0

내가 틀렸다면 수정하십시오. ** 동일한 웹 응용 프로그램 내에있는 한 다른 사이트 모음의 데이터에 ** 액세스 할 수 있습니다 **. 여기에 사이트 수집을 의미한다고 생각하지 않습니다. –

+0

오른쪽! 나를 고쳐 줘서 고마워. –

+0

@Kit 어떻게 SPQuery를 사용하여 사이트 모음 전체를 쿼리 할 수 ​​있습니까? 아마도 틀 렸지만 SPQuery가 특정 목록의 경계를 가지고 있다고 생각합니다. 사이트 모음의 목록 전체를 쿼리하기위한 SPSiteDataQuery API가 있습니다. 나는 Site Collection을 통해 질의하는 것을 허용하는 것을 전혀 알지 못한다. – Jeff

1

콘텐츠 괴물 웹 파트에 대해이 기사 (link)를 확인하십시오. 그것은 당신의 문제를 해결하거나 적어도 당신에게 아이디어를 줄 수 있습니다.

0

Alex와 마찬가지로 SharePoint 개체 모델을 사용하여 현재 다른 사이트 모음의 데이터를 가져올 수 없습니다. 데이터를 검색하려면 내장 된 webservices (구체적으로 Lists.asmx의 GetListItems 메서드)를 사용하는 것이 좋습니다.

+0

웹 서비스는 좋은 생각이지만 몇 가지 수정 사항이 있습니다. 첫째, 그것은 "Lists.asmx"입니다. 둘째, Alex의 대답에 대해 아래에서 언급했듯이 ** 웹 사이트 응용 프로그램간에 사이트 모음을 통해 데이터를 검색 할 수는 있지만 ** –

+0

수정 해 주셔서 고맙습니다. @ (웹 서비스 이름은 오타를 만들 수없는 곳입니다 : P). JD와 마찬가지로 개체 모델을 사용하여 사이트 모음 전체에서 데이터를 검색 할 수 있다고 확신하지 못했습니다. 적어도 최소한 단서는 없습니다. 예를 들어 우리에게 계몽을 보여줄 수 있습니까? –

관련 문제