2012-05-28 3 views
0

많은 노력없이 Sharepoint 2010에서 토론 게시판을 만들지 만 토론 게시판과 모든 응답이 특정 영역에 자동으로 추가되는 솔루션을 찾고 있습니다. 최종 사용자는 페이지를 편집 모드로 입력 한 다음 웹 파트를 추가하는 과정을 통해 토론 게시판을 추가 할 필요가 없습니다. 그러나 대신 사용자가 토론 게시판을 만들면 모든 토론과 메시지가 페이지에 자동으로 추가됩니다 (페이지의 특정 영역).Sharepoint 2010에서 자동으로 토론 게시판을 추가하는 방법은 무엇입니까?

감사합니다.

답변

0

이 코드를 추가하여이 코드를 자동으로 실행하려면 웹 이벤트 처리기 (ListAdded)를 추가하십시오. 이 코드에서 목록 유형이 토론인지 확인해야합니다. 이벤트 수신기에서 웹 파트를 추가 할 SPWeb에 대한 참조와 사용할 목록 (이 예제에서는 연락처 목록)을 가져와야합니다. 다음으로 ZoneView, ListName 및 ViewGuid를 설정할 수있는 ListViewWebPart 클래스의 인스턴스를 만듭니다. 이것은 까다로운 부분입니다. ListName 속성에는 목록 이름 (GUID)이 포함되어야하며 목록 이름은 포함되지 않아야합니다. 그러나 ListName 속성은 string 유형이므로 List GUID를 .ToString ("B")을 ​​사용하여 문자열로 변환해야합니다. ToUpper(). ViewGuid도 마찬가지입니다. 마지막으로 웹 파트를 추가 할 페이지 (이 예제에서는 default.aspx 인 홈 페이지)에 대한 WebPartCollection에 대한 참조를 가져와야합니다. 이제 Add 메서드를 사용하여 웹 파트를 추가 할 수 있습니다.

using Microsoft.SharePoint; 
using Microsoft.SharePoint.WebPartPages; 

// Get a reference to a web and a list 
SPSite site = new SPSite("http://localhost:8000"); 
SPWeb web = site.OpenWeb(); 
SPList list = web.Lists["Contacts"]; 

// Instantiate the web part 
ListViewWebPart wp = new ListViewWebPart(); 
wp.ZoneID = "Left"; 
wp.ListName = list.ID.ToString("B").ToUpper(); 
wp.ViewGuid = list.DefaultView.ID.ToString("B").ToUpper(); 

// Get the web part collection 
SPWebPartCollection coll = 
    web.GetWebPartCollection("default.aspx", 
    Storage.Shared); 

// Add the web part 
coll.Add(wp); 
관련 문제