我在Sharepoint有一个网站。
如您所知,在设置中,用户可以根据需要在浏览中订购网站和页面,然后您可以使用以下订单获取这些项目:
SPWeb web = CurrentSite.OpenWeb(currentSite);
SPNavigation nav = web.Navigation;
SPNavigationNodeCollection nodeColl = nav.QuickLaunch;
我遇到的问题是有一个缓存,每次用户添加网页时,我用web.Navigation.QuickLaunch获得的列表与之前相同。
删除缓存的唯一方法是进入探索并更改项目的顺序,然后重新构建它并接受表单。
有人可以告诉我,我是否可以用其他方式做到这一点?
答案 0 :(得分:0)
我不是百分百肯定,但是尝试检索SPWeb对象的新副本而不是使用当前上下文中的副本:
using ( SPSite l_site = new SPSite(SPContext.Current.Site.Url); )
{
using ( SPWeb l_web = l_site.OpenWeb() )
{
..
}
}