이전 블로그에서는 javascript로 SharePoint 항목의 데이터를 추가하는 것을 알아보았는데 이번 블로그에서는 공지사항 목록을 생성하는 내용을 알아보겠습니다. 여기까지 Client Object Model을 살펴보시면 SharePoint Server Object Model의 내용을 그대로 원격 클라이언트 위에서도 사용이 가능하다는 것을 알 수 있습니다.
Visual Studio 2010을 이용해서 빈 SharePoint 프로젝트를 생성하여 Application Page를 추가합니다. 추가한 페이지에 아래와 같은 코드를 작성하고 결과를 확인해봅니다.
추가한 Application Page 의 PageHead content 부분에 아래 내용을 추가합니다.
<SharePoint:ScriptLink ID="ScriptLink1" Name="SP.js" runat="server" OnDemand="true"
Localizable="false" />
목록을 생성하는 자바 스크립트 코드를 바로 아래 부분에 추가합니다.
<script language="javascript" type="text/javascript">
function CreateList() {
var clientContext = new SP.ClientContext.get_current();
var site = clientContext.get_web();
//공지사항 목록 생성
var listCreationInfo = new SP.ListCreationInformation();
listCreationInfo.set_title("HJ2");
listCreationInfo.set_templateType(SP.ListTemplateType.announcements);
listCreationInfo.set_quickLaunchOption(SP.QuickLaunchOptions.on);
site.get_lists().add(listCreationInfo);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onSucceeded)
, Function.createDelegate(this, this.onFailed));
}
function onSucceeded(sender, args) {
alert("Succeeded");
}
function onFailed(sender, args) {
alert("Failed");
}
</script>
목록을 생성하는 코드는 바로 아래 내용입니다. SP.ListCreationInformation을 이용해서 Title과 TemplateType, 빠른 실행 표시를 지정하고 있습니다.
var listCreationInfo = new SP.ListCreationInformation();
listCreationInfo.set_title("HJ2");
listCreationInfo.set_templateType(SP.ListTemplateType.announcements);
listCreationInfo.set_quickLaunchOption(SP.QuickLaunchOptions.on);
실제 생성된 내용을 적용하는 코드입니다.
site.get_lists().add(listCreationInfo);
서버 개체 모델에서 본 것과 거의 동일하다는 것을 알 수 있습니다.
Application Page 의 Main content 부분에 아래 내용을 추가해서 CreateList() 를 호출합니다.
<input id="Button1" type="button" value="Create List" onclick=" CreateList()" />
HJ2 라는 공지사항이 생성되어 있고 빠른 실행에 표시되는지 확인합니다.
이상으로 Client Object Model중에서 JavaScript 를 이용한 내용을 알아보았습니다.
'SharePoint 2010' 카테고리의 다른 글
SharePoint 2010 개발환경 구축 가이드 (0) | 2010.07.21 |
---|---|
Client Object Model – 정리 (0) | 2010.05.28 |
Client Object Model - Javascript(1) (0) | 2010.05.25 |
Client Object Model – Silverlight (2) (0) | 2010.05.19 |
Client Object Model – Silverlight (1) (0) | 2010.05.18 |