zoukankan      html  css  js  c++  java
  • 显示用户名的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日
    ************************************************************************

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

     

     

     

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

        主要代码如下:


    protected override void RenderWebPart(HtmlTextWriter output)
            
    {
                
    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

  • 相关阅读:
    javafx DragDropped file
    javafx style and cssFile
    javafx ComboBox Event and change cell color
    javafx clipboard
    javafx Cursor
    javafx DropShadow
    javafx checkbox
    javafx image button
    GNS3连接虚拟机
    cain使用教程
  • 原文地址:https://www.cnblogs.com/ocean/p/115136.html
Copyright © 2011-2022 走看看