设为首页 收藏本站
查看: 731|回复: 0

[经验分享] SharePoint判断页面(或WebPart)是否处于编辑模式.

[复制链接]
累计签到:6 天
连续签到:1 天
发表于 2015-9-27 09:03:49 | 显示全部楼层 |阅读模式
  相信大家经常进行编辑(配置)WebPart的属性等操作.
  有些时候,在我们配置属性的时候,可能我们会希望这个时候,页面上的webpart区域显示其它内容或提示信息.
  那我们如何判断我们是不是在编辑模式中呢?
  可能大家知道这样一个小窍门:在URL中加上DisplayMode=Design就可以让当前页面进入设计模式.
  那我们可以通过判断DisplayMode及其值来判断当前页面是否处于编辑模式中.
  但是:如果我们通过点击"编辑页面"进入的话,将不会有这个查询参数存在在URL中.
  ----
  不知道 SharePoint有没有提供相关的API给我们操作,反正我是没有找到.反而是找到几个相关的东东:
WebPart中有个事件处理方法:OnEditModeChanged,很可能的是,事件参数是EventArgs,并没有指明当前页面是否正处于编辑模式中?
  而WebPartManage有两个方法:BeginWebPartEditing和EndWebPartEditing,同样很可惜,也没有直接指明是不是在编辑中.
  没办法,走偏方:
  每一个模式下,我们都可以发现HTML源码中,都有MSOSPWebPartManager_DisplayModeName这个隐藏域. 而在不同的模式下,其值是不一样的:
  浏览:Browse   页面编辑:Design  WebPart编辑:Edit
  OK,足够了,这3个值再加上DisplayMode,足够我们折腾的了.
  <---题外:在HTML源码中,还有不少值得我们研究的东东,也许一些感觉棘手的问题,答案就在其中-->
  ----
  折腾完后,我搞出这样一个方法:



1         public bool CheckIsEditing()
2         {
3             //if (null == this.Page.Request["MSOLayout_InDesignMode"])
4             //    return false;
5             //string strMode = this.Page.Request["MSOLayout_InDesignMode"].ToLower().Trim();   
6             //if (strMode == "1")
7             //    return true;
8             //return false;
9             if (!string.IsNullOrEmpty(Page.Request["DisplayMode"]) && Page.Request["DisplayMode"].ToLower().Trim() == "design")
10                 return true;
11             if (null == this.Page.Request["MSOSPWebPartManager_DisplayModeName"] )
12                 return false;
13             string strMode = this.Page.Request["MSOSPWebPartManager_DisplayModeName"].ToLower().Trim();   
14             if (strMode == "browse")
15                 return false;  
16             if (strMode == "design" || strMode=="edit")
17                 return true;
18             return false;
19         
20         }  
  
  不知道些方法好不好用,先记录在些,权当记流水帐了.
  ----话说:深圳的天气真TMD热,而我等P民买不起空调,只有天天蒸桑拿!!!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119310-1-1.html 上篇帖子: 采用解决方案包自动修改sharepoint站点的web.config参数 下篇帖子: 续-在sharepoint中利用文档库扩展新闻应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表