SPServices介绍之二:基本方法调用

在上一篇文章SPServices介绍之一中,简单介绍了SPServices以及如何将它添加到SharePoint的项目中,这篇文章继续介绍一下SPSevices提供的基本方法。

这些基本的方法可以到SPServices的主页中查找:点击打开链接

核心对象$().SPServices

对象$().SPServices是SPServices库的核心对象,绝大多数的方法调用都需要使用这个对象,例如

获取当前站点的url的方法SPGetCurrentSite

$().SPServices.SPGetCurrentSite();


获取当前登录用户的信息的方法
SPGetCurrentUser
语法:

$().SPServices.SPGetCurrentUser{(
    webURL: "",<span style="white-space:pre">		</span>//站点url,默认是当前站点url
    fieldName: "Name",  //用户信息列表中的列名
    fieldNames:[],      //用户信息列表中的列名数组
    debug:false         //是否开启debug模式,如果开启,调用出错时显示debug信息
});

一个例子:

$().SPServices.SPGetCurrentUser({fieldNames: ["Name", "Title", "EMail"], debug:false});
这个方法通过Ajax调用获取用户信息列表中的信息(/_layouts/userdisp.aspx)。我们可以在fieldNames中指定读取的column名字,其中Name是Account名(对应Account列),Title是用户名(对应Name列),Email是邮箱名(对应Work email列),如果对于用户Andy Lee,他的用户信息是:

那么调用SPGetCurrentUser方法之后获取的信息是:



获取列表中的最后一个item的ID的方法SPGetLastItemId

语法:

$().SPServices.SPGetLastItemId({	
	webURL: "",        //列表所在站点的url,默认是当前站点url,可以使用相对url例如 "/", "/Departments/HR"
	listName: "",      //列表的名字或者GUID, 如果是GUID,应该使用"{9CC9DF10-E677-4A59-8FBE-B622F9598CFE}"这种形式
	userAccount: "",   //指定用户,接受"domain\username"这种形式,默认使用当前用户
	CAMLQuery: ""      //指定一个CAML查询,形如"<Eq><FieldRef Name='Status'/><Value Type='Text'>Avtive</Value></Eq>"
});
一个例子:

$().SPServices.SPGetLastItemId({
    listName:"Tasks"
});
将返回Tasks列表中最后一个创建的item的id。

根据column的static name获取display name的方法 SPGetDisplayFromStatic

语法

var thisDisplayName = $().SPServices.SPGetDisplayFromStatic ({	
  webURL: "",             //列表所在站点的url,默认是当前站点url,可以使用相对url例如 "/", "/Departments/HR"
  listName: "",           //列表名字或者GUID,如果是GUID,应该使用"{9CC9DF10-E677-4A59-8FBE-B622F9598CFE}"这种形式
  columnStaticName: "",   //column的static name
  columnStaticNames: []   //可以指定多个column的static name
});
一个例子,获取Tasks列表中的Title列的display name:
var titleDisplayName = $().SPServices.SPGetDisplayFromStatic ({	
      listName: "Tasks",
      columnStaticName: "Title"
    });
获取Tasks列表中的Title和Status列的display name:

var displayNames = $().SPServices.SPGetDisplayFromStatic ({	
      listName: "Tasks",
      columnStaticNames: {"Title", "ContentType"}
    });

根据column的display name获取static name的方法 SPGetStaticFromDisplay
与上一个方法相反,这个方法根据display name获取column的static name。

语法:

var thisStaticName = $().SPServices.SPGetStaticFromDisplay ({	
  webURL: "",
  listName: "",
  columnDisplayName: "",
  columnDisplayNames: []  
});
仅举一个例子:

var staticNames = $().SPServices.SPGetStaticFromDisplay({
                listName: "Tasks",
                columnDisplayNames: ["Task Name", "Content Type"]
            });

可以通过staticNames["Task Name"]来获取Task Name列对应的static name。

获取查询字符串的方法SPGetQueryString

用来获取url中的查询字符串的参数值,例如页面url是“http://servername/sitename/Lists/MyList/NewForm.aspx?ID=10”,那么可以使用以下方式获取参数ID的值:

var queryString = $().SPServices.SPGetQueryString();
var itemId = queryString["ID"];
或者
var itemId = queryString.ID

获取当前列表ID的方法 SPListNameFromUrl

在列表的上下文中,从Url中获取列表的ID。

var listId = $().SPServices.SPListNameFromUrl()

将日期转换为ISO格式的方法SPConvertDateToISO

语法:

$().SPServices.SPConvertDateToISO({
   dateToConvert: new Date(),    //日期,默认是当前日期和时间
   dateOffset: "-05:00"          //时区偏移量,默认是EST时间
});
一个例子:

var currentISO = $().SPServices.SPConvertDateToISO(); //获取当前日期的ISO时间,格式为:"2014-09-18T17:28:31Z-05:00"

以下是这篇文章的示例代码:

<script type="text/javascript">
        $(document).ready(function () {
            $("#output").append("<div>-----------Start SPGetCurrentSite----------</div>");
            var currentSiteUrl = $().SPServices.SPGetCurrentSite();
            $("#output").append("<div>Current Site Url: " + currentSiteUrl + "</div>");
            $("#output").append("<div>-----------End SPGetCurrentSite----------</div>");

            $("#output").append("<div>-----------Start SPGetCurrentUser----------</div>");
            var currentUser = $().SPServices.SPGetCurrentUser({fieldNames: ["Name", "Title", "EMail"], debug:false});
            $("#output").append("<div>Current User Account Name: " + currentUser.Name + "</div>");
            $("#output").append("<div>Current User Name: " + currentUser.Title + "</div>");
            $("#output").append("<div>Current User Email: " + currentUser.EMail + "</div>");
            $("#output").append("<div>-----------End SPGetCurrentUser----------</div>");

            $("#output").append("<div>-----------Start SPGetLastItemId----------</div>");
            var lastItemId = $().SPServices.SPGetLastItemId({ listName: "Tasks" });
            $("#output").append("<div>Last Item Id in Tasks List: " + lastItemId + "</div>");
            $("#output").append("<div>-----------End SPGetLastItemId----------</div>");

            $("#output").append("<div>-----------Start SPGetDisplayFromStatic----------</div>");
            var titleDisplayName = $().SPServices.SPGetDisplayFromStatic({
                listName: "Tasks",
                columnStaticName: "Title"
            });
            $("#output").append("<div>Display Name of Title Column: " + titleDisplayName + "</div>");
            var displayNames = $().SPServices.SPGetDisplayFromStatic ({	
                listName: "Tasks",
                columnStaticNames: ["Title", "ContentType"]
            });
            $("#output").append("<div>Display Name of Title Column: " + displayNames.Title + "</div>");
            $("#output").append("<div>Display Name of ContentType Column: " + displayNames.ContentType + "</div>");
            $("#output").append("<div>-----------End SPGetDisplayFromStatic----------</div>");

            $("#output").append("<div>-----------Start SPGetStaticFromDisplay----------</div>");
            var staticNames = $().SPServices.SPGetStaticFromDisplay({
                listName: "Tasks",
                columnDisplayNames: ["Task Name", "Content Type"]
            });
            $("#output").append("<div>Static Name of Task Name Column: " + staticNames["Task Name"] + "</div>");
            $("#output").append("<div>Static Name of Content Type Column: " + staticNames["Content Type"] + "</div>");
            $("#output").append("<div>-----------End SPGetStaticFromDisplay----------</div>");

            $("#output").append("<div>-----------Start SPConvertDateToISO----------</div>");
            var currentISO = $().SPServices.SPConvertDateToISO()
            $("#output").append("<div>Current ISO time: " + currentISO + "</div>");
            $("#output").append("<div>-----------End SPConvertDateToISO----------</div>");
        });
    </script>

下一篇文章 SPServcies介绍之三会详细介绍如何使用SPServcies对象调用SharePoint Web Service和处理返回的XML数据。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值