OM通用:
提升权限读取:
SPSecurity
.RunWithElevatedPrivileges(delegate
()
{
SPWeb web = SPControl.GetContextWeb(context);
using (SPSite elevSite = new SPSite(web.Site.ID))
{
using (SPWeb elevWeb = elevSite.OpenWeb(web.ID))
{
SPList list = elevWeb.Lists["ListName"];
SPListItemCollection items = list.Items;
if (items != null)
{
for (int i = 0; i < items.Count; i++)
{
//....
} } } }
});
如果为权限读取:
SPList list = elevWeb.Lists["ListName"];
SPListItemCollection items = list.Items;
if (items != null)
{ for (int i = 0; i < items.Count; i++)
{ //....
} } 在js中Share Point web Service方法:只列出有用的几个类型的读取。 //-------------------------the following code is core source code , you can use it directly.---------
//Below is the core js source code.
SPAPI_Lists() {
SPAPI_Core();
;
/* List template IDs */ // Document library // User Information list // Generic list /*-------------------*/ (listName, viewName, query, viewFields, rowLimit, queryOptions, webID) {
;
;
params = [listName, viewName, query, viewFields, rowLimit, queryOptions, webID];
;
.serviceUrl, action, packet, params);
} } function SPAPI_Core() {
() {
) {
XMLHttpRequest();
} ) {
);
} {
);
} } (serviceUrl, action, packet, params) {
.createXMLHttpRequest();
;
resultName;
oXMLHttpRequest.open( );
oXMLHttpRequest.setRequestHeader( );
oXMLHttpRequest.setRequestHeader( , action);
) {
i = 0; i < params.length; i++) {
packet = packet.replace( : params[i]));
} } oXMLHttpRequest.send(packet); resultName = action.substring(action.lastIndexOf( ;
resBatch;
status;
statusText;
status = oXMLHttpRequest.status; statusText = oXMLHttpRequest.statusText; (status == 200) {
// Check for SharePoint error code resBatch = oXMLHttpRequest.responseXML.getElementsByTagName(resultName); );
&& codeEl.length > 0) {
spStatus = parseInt(codeEl[0].childNodes[0].nodeValue);
(spStatus != 0) {
status = 0 - spStatus; // Note we make this -ve to prevent confusion with the HTTP code );
&& messageEl.length >= 0) {
statusText = messageEl[0].childNodes[0].nodeValue; } } } } result = { status: status, statusText: statusText, responseXML: oXMLHttpRequest.responseXML, responseText: oXMLHttpRequest.responseText, resultNode: (resBatch == : resBatch[0])
}; result;
//-------------------------------end--------------------------
使用方法示例:
function
searchIssueByID() {
var lists = new SPAPI_Lists(''
);
var items = lists.getListItems('Issues','','<Query><Where><Eq><FieldRef Name="ID"/><Value Type="Counter">' + issueId + '</Value></Eq></Where></Query>',
// query
'<ViewFields><FieldRef Name="Name"/></ViewFields>'
,
1,
// rowLimit
''
// queryOptions
);
if (items.status == 200)
{
var rows = items.responseXML.getElementsByTagName('z:row');
}
);
return false
;
以上是在应用开发中常用到的。随时补充。