您的位置:首页 > 其它

如何判断当前的上下文是否是一个列表

2015-02-26 01:32 316 查看
在上一篇博客中介绍了在SharePoint中使用关联列表(related list)

如果使用关联列表,会对代码造成一些影响,例如,某段代码只在进入列表的时候执行,而在进入item展示页面不执行,就需要判断用户当前的上下文是否是一个列表的视图。通常情况下是这样判断的:

private bool IsListViewPage()
{
return SPContext.Current.List != null && this.xsltListViews.Count > 0; //xsltListViews是页面包含的xslt list view webpart 的集合。
}


但是如果使用了关联列表,那么上面的判断是不准确的,代码不仅会在进入列表的时候执行,也会在进入item页面的时候执行,因为关联列表本质上是xslt list view webpart。所以正确的方法应该是:

private bool IsListViewPage()
{
string currentPageUrl = SPUtility.GetPageUrlPath(HttpContext.Current);
return SPContext.Current.List != null && this.xsltListViews.Count > 0 &&
!(currentPageUrl.EndsWith(SPContext.Current.List.DefaultDisplayFormUrl) ||
currentPageUrl.EndsWith(SPContext.Current.List.DefaultEditFormUrl) ||
currentPageUrl.EndsWith(SPContext.Current.List.DefaultNewFormUrl));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: