copyright: akurniaga.wordpress.com
'
Recently I built a visual web part to show current user’s information (Picture, Name, etc). Instead of using SharePoint server object model, this time I choose to use client OM. First I need to get the id of the logged-in user, which can be retrieved from _spPageContextInfo.userId (Ted Pattison has posted an excellent article explaining this variable). Next step is to get the client context.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| var context = new SP.ClientContext.get_current(); var web = context.get_web(); var userInfoList = web.get_siteUserInfoList(); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml( ' + ' + userId + ' |
+
'
);
this
.userListItem = userInfoList.getItems(camlQuery);
context.load(
this
.userListItem);
context.executeQueryAsync(
Function.createDelegate(
this
, onSucceeded),
Function.createDelegate(
this
, onFailed));
The onSucceeded function is called when the query runs successfully, otherwise the onFailed function will be executed.
1
2
3
4
5
6
7
8
9
10
11
12
| function onSuceeded(sender, eventArgs) { var item = this .userListItem.itemAt(0); var name = item.get_item( 'Name' ); var userName = "Name" ; if (name) { userName = name; } alert(userName); } |
One last thing to remember is to run the code after SP.js is loaded
1
| SP.SOD.executeOrDelayUntilScriptLoaded(LoadUserInfo, 'SP.js' ); |
No comments:
Post a Comment