***********************************************************************
*                              版权声明
*      此文章为ocean所有,版权归ocean所有,任何网
* 站和 媒体转载必须包含此段声明,否则将视为侵权,作
* 者将保留一切权力。此声明为此文章中不可或缺的一部分。
* 作者网名:ocean
* 作者email:ocean@forever.net.cn
* 作者网站:http://www.oceanstudio.net
*                http://sps.oceanstudio.net
* 作者blog:博客园,http://www.cnblogs.com/ocean
*                     Ocean's blog,http://www.oceanstudio.net/sps/blog
* 此文章发表时间:2005年3月8日
************************************************************************

    有的朋友询问如何能够显示用户的信息,其实这个很简单,就顺手作了一个。效果图如下:

 

显示用户名的WebPart

显示用户名的WebPart

 显示用户名的WebPart

 

    上面是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,未被验证的就是匿名用户。

    主要代码如下:


显示用户名的WebPartprotected override void RenderWebPart(HtmlTextWriter output)
{
显示用户名的WebPart            
try 
{
显示用户名的WebPart                
if (!this.Context.Request.IsAuthenticated) 
{
显示用户名的WebPart                    output.Write(Text.Replace(
"{UserName}",this.AnonyName));
显示用户名的WebPart                }

显示用户名的WebPart                
else 
{
显示用户名的WebPart                    SPWeb contextWeb 
= SPControl.GetContextWeb(this.Context);
显示用户名的WebPart                    SPUser currentUser 
= contextWeb.CurrentUser;
显示用户名的WebPart                    
string DisplayName = currentUser.Name;
显示用户名的WebPart                    
if (DisplayName == null || DisplayName == ""
{
显示用户名的WebPart                        DisplayName 
= currentUser.LoginName;
显示用户名的WebPart                    }

显示用户名的WebPart                    output.Write(Text.Replace(
"{UserName}",DisplayName));
显示用户名的WebPart                }

显示用户名的WebPart            }

显示用户名的WebPart            
catch (Exception e) 
{
显示用户名的WebPart                output.WriteLine(e.ToString());
显示用户名的WebPart            }

显示用户名的WebPart        }

   


    欢迎访问海洋工作室( http://sps.oceanstudio.net

相关文章: