显示用户名的WebPart

本文介绍了如何使用WebPart显示用户信息。给出了代码下载和演示效果查看的链接,还提供了其他WebPart的查看地址。说明了运行时的权限设置,展示了获取当前用户的核心代码,同时提到要判断是否为匿名用户。
***********************************************************************
*                              版权声明
*      此文章为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日
************************************************************************

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

 

demo.jpg

demo1.jpg

 toolpart.jpg

 

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

    主要代码如下:


None.gif protected   override   void  RenderWebPart(HtmlTextWriter output)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
try 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if (!this.Context.Request.IsAuthenticated) 
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    output.Write(Text.Replace(
"{UserName}",this.AnonyName));
ExpandedSubBlockEnd.gif                }

InBlock.gif                
else 
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    SPWeb contextWeb 
= SPControl.GetContextWeb(this.Context);
InBlock.gif                    SPUser currentUser 
= contextWeb.CurrentUser;
InBlock.gif                    
string DisplayName = currentUser.Name;
InBlock.gif                    
if (DisplayName == null || DisplayName == ""
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        DisplayName 
= currentUser.LoginName;
ExpandedSubBlockEnd.gif                    }

InBlock.gif                    output.Write(Text.Replace(
"{UserName}",DisplayName));
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch (Exception e) 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                output.WriteLine(e.ToString());
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

   


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值