SharePoint 2010是否将当前用户的帐户名存储在全局可访问的JS对象中?
我能找到的每个解决方案都涉及到ajax web服务调用的一些变体,这似乎是一个非常重的解决方案,可以访问应该是一些简单的信息。
我可以轻松访问的内容:
__spUserId
$('#zz17_Menu').text()
)但这些都不是帐号。
我不想做的事情:
答案 0 :(得分:5)
对于那些偶然发现这一点的人,一年之后我才知道如何。
到您的母版页register SPSWC(如果您使用的是Randy Drisgill的starter master,那么它已经在那里了。)
<%@ Register Tagprefix="SPSWC" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
然后,在您想要访问属性(例如:UserName)之前,请拉入数据
<SPSWC:ProfilePropertyLoader runat="server"/>
接下来,访问其中一个属性,我建议使用TitleMode将其嵌入<script>
元素中。
<script>
var username = '<SPSWC:ProfilePropertyValue PropertyName="UserName" TitleMode="true" runat="server"/>';
</script>
我们现在使用它,如此PasteBin demo所示,使用一些属性(如名字,姓氏,用户名,个人资料图片,状态)填充全局。
答案 1 :(得分:1)
您确实需要进行Web服务调用才能可靠地执行此操作。值得庆幸的是,SPServices可以快速轻松地完成这项任务。
http://spservices.codeplex.com/wikipage?title= $%28%29.SPServices.SPGetCurrentUser
$().SPServices.SPGetCurrentUser({
fieldName: "Name",
debug: false
});