如何判断当前的上下文是否是一个列表
2015-02-26 01:32
316 查看
在上一篇博客中介绍了在SharePoint中使用关联列表(related list)
如果使用关联列表,会对代码造成一些影响,例如,某段代码只在进入列表的时候执行,而在进入item展示页面不执行,就需要判断用户当前的上下文是否是一个列表的视图。通常情况下是这样判断的:
但是如果使用了关联列表,那么上面的判断是不准确的,代码不仅会在进入列表的时候执行,也会在进入item页面的时候执行,因为关联列表本质上是xslt list view webpart。所以正确的方法应该是:
如果使用关联列表,会对代码造成一些影响,例如,某段代码只在进入列表的时候执行,而在进入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)); }
相关文章推荐
- vc CListCtrl 如何判断列表中的内容是否被选中?如何获取CListCtrl当前选中的行
- 如何判断一个日期是否属于当前系统本月的日期
- 如何判断一个SOCKET连接是否已经断开
- 如何判断一个Socket是否断开?
- 如何判断一个数是否为素数
- 问题3:如何用递归算法判断一个数组是否是递增?
- 如何快速判断一个文件是否为病毒
- 如何判断一个指定的经纬度点是否落在一个多边形区域内?
- sql 如何判断一个表是否存在
- java中如何判断一个子类方法是否已经被重写
- Oracle 中如何判断一个字符串是否为数字
- live555如何判断一个IP地址是否为组播地址的
- SharePoint CAML判断一个列表项是否有附件
- php 如何判断一个常量是否已经定义
- 如何判断一个数组中是否包含一个字符或字符串
- 如何判断一个字符串是否为正确的IP地址
- 【PHP】如何判断一个URL是否是一个图片链接
- 如何判断一个数是否为4的幂次方?若是,并判断出来是多少次方?
- Python3基础 list in 与 not in 判断一个变量是否在列表中存在
- 2个二叉树A、B,树的每个节点上都有一个整数值。如何判断A与B是否其中一个是另一个的子树?