SharePoint 使用ECMAscript对象模型来读取帖子列表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SharePoint 使用ECMAscript对象模型来读取帖子列表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6804字,纯文字阅读大概需要10分钟。
内容图文
本随笔讲述如何用JavaScript来读取SharePoint 2013 中blog相关的帖子列表。
<div id="divGetItemsFromPosts" title="读取贴子列表"></div><br /> <div id="divGetItemsFromComments" title="读取某个帖子的所有回贴"></div><br /> <script src="/_layouts/15/Learning_ECMAScript/Learning_WP_Blog.js"></script>
1 // 读取帖子列表里的前10条帖子 2 // Get top 10 items from Posts List in the blog site 3 var collListItem; 4 var getItemsFromPosts = function (blogSiteUrl) { 5var clientContext = new SP.ClientContext(blogSiteUrl); 6var oWebsite = clientContext.get_web(); 7var oList = oWebsite.get_lists().getByTitle(‘Posts‘); 8var camlQuery = new SP.CamlQuery(); 9 camlQuery.set_viewXml(‘<View><Query><Where><IsNotNull><FieldRef Name=\‘Title\‘ /></IsNotNull></Where></Query><RowLimit>10</RowLimit></View>‘); 10 collListItem = oList.getItems(camlQuery); 11 clientContext.load(collListItem, ‘Include(Id,Title,Body,Created,Author,NumComments,LikesCount,LikedBy)‘); 12 clientContext.executeQueryAsync(getItemsFromPostsSucceeded, getItemsFromPostsFailed); 13}; 14 15var getItemsFromPostsSucceeded = function () { 16var itemsFromPostsHTML = ‘<strong>---------------Get top 10 items from Posts List in the blog site-------------</strong><br/>‘; 17var listItemEnumerator = collListItem.getEnumerator(); 18var oListItem, i = 1, tempCreated; 19var tempAuthor, tempNumComments, tempLikedBy, tempAuthorArr, tempNumCommentsArr, tempLikedByArr; 20while (listItemEnumerator.moveNext()) { 21 oListItem = listItemEnumerator.get_current(); 22 tempCreated = oListItem.get_item(‘Created‘); 23 tempCreated = tempCreated.getDate() + ‘/‘ + (tempCreated.getMonth() + 1) + ‘/‘ + tempCreated.getFullYear() + ‘ ‘ + tempCreated.getHours() + ‘:‘ + tempCreated.getMinutes(); 24 25 tempAuthor = oListItem.get_item(‘Author‘); 26 tempNumComments = oListItem.get_item(‘NumComments‘); 27 tempLikedBy = oListItem.get_item(‘LikedBy‘); 28 tempAuthorArr = []; 29 tempNumCommentsArr = []; 30 tempLikedByArr = []; 31 32for (var property in tempAuthor) { 33if (typeof tempAuthor[property] != ‘function‘ && property == ‘$2d_1‘) 34 tempAuthorArr.push(tempAuthor[property]); 35 } 36for (var property in tempNumComments) { 37if (typeof tempNumComments[property] != ‘function‘ && property == ‘$1E_1‘) 38 tempNumCommentsArr.push(tempNumComments[property]); 39 } 40if (tempLikedBy) { 41for (var property in tempLikedBy) { 42if (typeof tempLikedBy[property] != ‘function‘) 43 tempLikedByArr.push(tempLikedBy[property].get_lookupValue()); 44 } 45 } 46 47 tempNumComments = tempNumCommentsArr.join(‘, ‘); 48if (tempNumComments != ‘0‘) 49 tempNumComments = ‘ <input type="button" onclick="getItemsFromComments(\‘/Nigel\‘,‘ + oListItem.get_id() + ‘,\‘‘ + oListItem.get_item(‘Title‘) + ‘\‘);" value="‘ + tempNumComments + ‘ Comments" />‘; 50 51 itemsFromPostsHTML += ‘<div style="margin-bottom:20px;background-color:‘ + (i % 2 == 1 ? ‘#ACC8DF‘ : ‘#CCC9BF‘) + ‘"><strong>**Top ‘ + i + ‘</strong><br/>‘ + 52 ‘ID: ‘ + oListItem.get_id() + ‘<br/>‘ + 53 ‘Title: ‘ + oListItem.get_item(‘Title‘) + ‘<br/>‘ + 54 ‘Body: ‘ + oListItem.get_item(‘Body‘) + ‘<br/>‘ + 55 ‘Created: ‘ + tempCreated + ‘<br/>‘ + 56 ‘Author :‘ + tempAuthorArr.join(‘, ‘) + ‘<br/>‘ + 57 ‘NumComments: ‘ + tempNumComments + ‘<br/>‘ + 58 ‘LikesCount: ‘ + (oListItem.get_item(‘LikesCount‘) || 0) + ‘<br/>‘ + 59 ‘LikedBy: ‘ + tempLikedByArr.join(‘, ‘) + ‘</div>‘; 60 i++; 61 } 62 document.getElementById(‘divGetItemsFromPosts‘).innerHTML = itemsFromPostsHTML; 63}; 64 65var getItemsFromPostsFailed = function (sender, args) { 66 alert(‘Request failed. ‘ + args.get_message() + ‘\r\n‘ + args.get_stackTrace()); 67}; 68 69//读取某个帖子的所有回贴 70//Get items from Comments List in the blog site 71var collListItem2; 72var currentPostTitle; 73var getItemsFromComments = function (blogSiteUrl, postId, postTitle) { 74var clientContext = new SP.ClientContext(blogSiteUrl); 75var oWebsite = clientContext.get_web(); 76var oList = oWebsite.get_lists().getByTitle(‘Comments‘); 77 currentPostTitle = postTitle; 78var camlQuery = new SP.CamlQuery(); 79 camlQuery.set_viewXml(‘<View><Query><Where><Eq><FieldRef Name=\‘PostID\‘/><Value Type=\‘Lookup\‘>‘ + postId + ‘</Value></Eq></Where></Query><RowLimit>10</RowLimit></View>‘); 80 collListItem2 = oList.getItems(camlQuery); 81 clientContext.load(collListItem2, ‘Include(Id,Title,Body,Created,Author)‘); 82 clientContext.executeQueryAsync(getItemsFromCommentsSucceeded, getItemsFromCommentsFailed); 83}; 84 85var getItemsFromCommentsSucceeded = function () { 86var itemsFromCommentsHTML = ‘<strong>---------------Get items from Comments List in the blog site---------------</strong><br/>‘; 87 itemsFromCommentsHTML += ‘<strong>The Comments of Post (‘+ currentPostTitle +‘)</strong><br/>‘; 88var listItemEnumerator = collListItem2.getEnumerator(); 89var oListItem, i = 1, tempCreated; 90var tempAuthor, tempAuthorArr; 91while (listItemEnumerator.moveNext()) { 92 oListItem = listItemEnumerator.get_current(); 93 tempCreated = oListItem.get_item(‘Created‘); 94 tempCreated = tempCreated.getDate() + ‘/‘ + (tempCreated.getMonth() + 1) + ‘/‘ + tempCreated.getFullYear() + ‘ ‘ + tempCreated.getHours() + ‘:‘ + tempCreated.getMinutes(); 95 96 tempAuthor = oListItem.get_item(‘Author‘); 97 tempAuthorArr = []; 98 99for (var property in tempAuthor) { 100if (typeof tempAuthor[property] != ‘function‘ && property == ‘$2d_1‘) 101 tempAuthorArr.push(tempAuthor[property]); 102 } 103104 itemsFromCommentsHTML += ‘<div style="margin:0 20px 20px 20px;background-color:‘ + (i % 2 == 1 ? ‘#CFBCCF‘ : ‘#E4E8A4‘) + ‘"><strong>**Top ‘ + i + ‘</strong><br/>‘ + 105 ‘ID: ‘ + oListItem.get_id() + ‘<br/>‘ + 106 ‘Title: ‘ + oListItem.get_item(‘Title‘) + ‘<br/>‘ + 107 ‘Body: ‘ + oListItem.get_item(‘Body‘) + ‘<br/>‘ + 108 ‘Created: ‘ + tempCreated + ‘<br/>‘ + 109 ‘Author :‘ + tempAuthorArr.join(‘, ‘) + ‘</div>‘; 110 i++; 111 } 112 document.getElementById(‘divGetItemsFromComments‘).innerHTML = itemsFromCommentsHTML; 113}; 114115var getItemsFromCommentsFailed = function (sender, args) { 116 alert(‘Request failed. ‘ + args.get_message() + ‘\r\n‘ + args.get_stackTrace()); 117}; 118119//初始化120//Init121 _spBodyOnLoadFunctionNames.push(‘documentReady‘); 122function documentReady() { 123 SP.SOD.executeFunc(‘sp.js‘, ‘SP.ClientContext‘, function () { 124 getItemsFromPosts(‘/Nigel‘); 125 }); 126 }
原文:http://www.cnblogs.com/huangjianwu/p/4538574.html
内容总结
以上是互联网集市为您收集整理的SharePoint 使用ECMAscript对象模型来读取帖子列表全部内容,希望文章能够帮你解决SharePoint 使用ECMAscript对象模型来读取帖子列表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。