SharePoint
轻轻插一下

关于SharPoint2013一点细节的深究

在进行SharePoint2013的开发过程中我发现在开启了某些功能,或者说是创建了个人站点之后有很多地方变了比如下面这个地方:

   

当然相应的URL地址也发生改变。也许很明确的我就打开了Welcome.ascx文件发现代码中并没有什么特殊的判断来说明这个改变,

MenuItemTemplate menuItem = base.GetMenuItem("ID_PersonalInformation");

if (menuItem != null)

{

if (currentUser == null)

{

menuItem.Visible = false;

}

else

{

string serverRelativeUrlFromUrl = this.Web.GetServerRelativeUrlFromUrl(SPUtility.ContextLayoutsFolder + "/userdisp.aspx?Force=True");

menuItem.ClientOnClickScript = "javascript:GoToPage('" + SPHttpUtility.EcmaScriptStringLiteralEncode(serverRelativeUrlFromUrl) + "');return false;";

if ((SPContext.Current.Site != null) && SPUtility.IsCompatibilityLevel15Up)

{

menuItem.Description = SPResource.GetString("PersonalActions_PersonalInformationDescription15", new object[0]);

}

}

}

这就让我开始怀疑他是开启了某个Feature后在页面中加了某个东西改变了这个地址。于是我首先想到的是js更改然后就Search了一下页面源代码发现如下:

至此彻底的证明了我的想法,我看了一下这个js的函数名称:function ctl00_ctl20_SocialNavControl_insertMyProfileMenu(),于是搜索了一下Socia开头的ascx,并没有发现什么。不过衣蛾Feature引起了我的兴趣:

   

看了一下代码发现了问题所在.

   

posted on 2014-02-20 16:52  轻轻插一下  阅读(517)  评论(1编辑  收藏  举报