Sharepoint 2010 рдореЗрдВ рд╢реЗрдпрд░ рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг

рдореБрдЭреЗ рдХреЗрд╡рд▓ рдкреЛрд╕реНрдЯрдмреИрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд┐рдирд╛ рдкреГрд╖реНрда рдкрд░ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рд╕реВрдЪреА рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдорд╣рд╛рди Google рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реБрдП, рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ: REST рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред
рдХреНрд▓рд╛рдЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХреЛ рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рдХреА рдереЛрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рдорд╛рдирд╛ рдЧрдпрд╛ рдерд╛ред
рдкреНрд░рд╛рдкреНрдд рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдгреАрдп рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдмрд╛рдХреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕


рд╕реЗрд╡рд╛ рддреБрд░рдВрдд рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ http: // {siteName} /_vti_bin/ListData.svcред рдпрд╣ рдУрдбреЗрдЯрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ (рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдФрд░ рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рд╡реЗрдм рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЬреЛ HTTP рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдЯрдо, рдЬреЗрдиреНрд╕рди рдпрд╛ рдПрдХреНрд╕рдПрдордПрд▓ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рджреЗрддрд╛ рд╣реИ)ред

рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рдЯреЗрдХред рдХрд╛рд░реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдерд╛: тАЬрдкреЗрдЬ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реВрдЪреА рд╕реЗ рдПрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред рдЬрдм рдЖрдк "рдЕрдзрд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдзрд┐рдХ рдЖрдЗрдЯрдо рд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рддрддреНрд╡ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛ рдЯреЗрдк рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред "
рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдиреБрд░реЛрдз http: // {siteName} /_vti_bin/ListData.svc/$metadata/ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
HTML рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд┐рдЦрдирд╛
<SharePoint:ScriptLink ID="ScriptLinkAngular" runat="server" Name="SharePointProject/js/angular/angular.js" Localizable="false"/> <SharePoint:ScriptLink ID="ScriptLinkApp" runat="server" Name="SharePointProject/js/app.js" Localizable="false"/> <div ng-app="testApp"> <div ng-controller="ListCtrl"> <div ng-repeat="item in JsonItems.items" style="margin-top: 10px;"> <pre> CustomTest: <b>{{item.CustomTest}}</b> <br/> CustomNumber: <b>{{item.CustomNumber}}</b></pre> </div> <!--     --> <div ng-show="JsonItems.showError" class="alert alert-danger" >{{JsonItems.error}}</div> <!--    --> <div ng-show="JsonItems.busy" class="alert alert-info" >Loading data...</div> <!--   --> <div ng-hide="JsonItems.busy" class="alert alert-success" ng-click="JsonItems.nextPage()" > Get more... </div> </div> </div> 

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
 var testApp = angular.module('testApp', []); testApp.controller('ListCtrl', ListCtrl); function ListCtrl($scope, $http, Items) { $scope.JsonItems= new Items(); $scope.JsonItems.nextPage(); } testApp.factory('Items', function($http) { var Items = function() { this.items = []; this.busy = false; this.after = 0; this.count=25; this.showError= function () { return this.error.length>0}; this.error=""; }; Items.prototype.nextPage = function() { if (this.busy) return; this.busy = true; var url = "http://{siteName}/_vti_bin/ListData.svc/Test?$skip=" + this.after + "&$top="+this.count +"&$orderby=CustomNumber&$select=CustomNumber,CustomTest"; $http({method: 'GET', url: url }).success(function(data) { var items = data.d; if (items.length > 0){ for (var i = 0; i < items.length; i++) { this.items.push(items[i]); } else { this.error = "No more data" } this.after += this.count; this.busy = false; } }.bind(this)). error(function(data, status) { this.error = "Error: " + data; this.busy = false; }.bind(this)); }; return Items; }); 


рдЖрдЗрдП рд░реЗрдЦрд╛ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ
  var url = "http://{siteName}/_vti_bin/ListData.svc/Test?$skip=" + this.after + "&$top="+this.count +"&$orderby=CustomNumber&$select=CustomNumber,CustomTest"; 

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо 2 рдлрд╝реАрд▓реНрдб рдХрд╕реНрдЯрдордирдВрдмрд░ рдФрд░ рдХрд╕реНрдЯрдордЯреЗрд╕реНрдЯ рд╡рд╛рд▓реА рдЬрд╕рди рд╕реЗрд╡рд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ 3 рд╣реИрдВ, рд╕реЗрд╡рд╛ __metadata рд╡рд┐рд╢реЗрд╖рддрд╛ рднреА рдЬреЛрдбрд╝рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рддрддреНрд╡ рдХрд╛ url, рдкреНрд░рдХрд╛рд░ рдФрд░ etag рд╢рд╛рдорд┐рд▓ рд╣реИ)ред рдкрд░рд┐рдгрд╛рдо рдореЗрдВ n рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ CustomNumber рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝реЗрдВ, рдФрд░ $ рдлрд╝рд┐рд▓реНрдЯрд░ = CustomNumber gt 50ред
рдзреНрдпрд╛рди рджреЗрдВ , рдпрджрд┐ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдкреИрд░рд╛рдореАрдЯрд░ $ рд╕реНрдХрд┐рдк рдпрд╛ $ рд╢реАрд░реНрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд▓рд╛рдЗрди
 var items = data.d; 

рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
 var items = data.d.results; 

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░


REST рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХрд╛рдлреА рд▓рдЪреАрд▓реА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдФрд░ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
Minuses рдореЗрдВ рд╕реЗ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдмрд╛рд╣рд░ рдХрд░реВрдВрдЧрд╛:
рдпрджреНрдпрдкрд┐ рдорд╛рдЗрдирд╕ рдХреЛ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ Sharepoint рдореЗрдВ REST рдХреА рдкрд╣рд▓реА рдЫрд╛рдк рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдерд╛ред

Source: https://habr.com/ru/post/In200936/


All Articles