显示用户名的WebPart
* 作者blog:博客园,http://www.cnblogs.com/ocean
* Ocean's blog,http://www.oceanstudio.net/sps/blog
* 此文章发表时间:2005年3月8日
有的朋友询问如何能够显示用户的信息,其实这个很简单,就顺手作了一个。效果图如下:
|
上面是8个例子。
代码可以点击此处下载。
同时可以点击此处查看此WebPart的演示效果。
同时你可以从 http://www.oceanstudio.net/sps/Lists/webpart/AllItems.aspx 查看其它的WebPart。
运行时请注意权限,将权限设置成Full,修改Web.config如下:<trust level="Full" originUrl="" />
这个WebPart其实很简单,核心代码也很少,我做的相对比价灵活,你可以输入html代码来控制用户名显示的格式。
得到当前的用户,主要依靠下面两句代码。
SPWeb contextWeb = SPControl.GetContextWeb(this.Context);
SPUser currentUser = contextWeb.CurrentUser;
然后可以通过currentUser.Name和currentUser.LoginName来得到显示名称和登录名。
如果直接写这个语句,那么匿名用户就会提示输入用户名和密码,所以我们还需要先判断是否为匿名用户。判断是否为匿名用户通过this.Context.Request.IsAuthenticated,未被验证的就是匿名用户。
主要代码如下:
{
try
{
if (!this.Context.Request.IsAuthenticated)
{
output.Write(Text.Replace("{UserName}",this.AnonyName));
}
else
{
SPWeb contextWeb = SPControl.GetContextWeb(this.Context);
SPUser currentUser = contextWeb.CurrentUser;
string DisplayName = currentUser.Name;
if (DisplayName == null || DisplayName == "")
{
DisplayName = currentUser.LoginName;
}
output.Write(Text.Replace("{UserName}",DisplayName));
}
}
catch (Exception e)
{
output.WriteLine(e.ToString());
}
}
欢迎访问海洋工作室( http://sps.oceanstudio.net )