转:http://tech.ddvip.com/2013-11/1384521515206064.html

介绍:我们使用SharePoint2010做门户网站,经常需要定制母版页,但是2010提供的Ribbon的方式,定制干掉了他以后,使用起来会发生不便,很多功能接口都需要从Ribbon里面进入,编辑也会无法编辑等出现各种问题,或者弹出脚本异常等。所以,我们要考虑下其他的方式,更加合理的使用Ribbon和左侧导航。

方法一 使用JS脚步的方式

所以就想用JS隐藏的方式,处理一下母版页,把不需要的默认隐藏掉,然后通过url传参,在需要的时候,把Ribbon还原回来。这就是我的思路,给大家看看我做的例子吧。

如下图,是引用的SharePoint默认母版页的一个页面,大家很熟悉吧,V4.master就是我引用的母版页,效果就是这样的,我要处理掉Ribbon和左侧导航,因为要做门户首页嘛,这两个挺碍事儿的,呵呵。

通过IE开发工具栏,找到Ribbon和左侧导航区域的id,分别是” s4-ribbonrow”和” s4-leftpanel”,使用脚本把这两个东西隐藏掉,就变成了下图我们需要的效果,中间灰色区域是PlaceHolderMain的区域,我加了一个Div,方便识别和调整。

我们要做的不仅仅是隐藏,还要在Url上传一个参数,我这里明明为“show”,通过JS获取到参数,然后进行操作,如果有参数show并且show的值是“true”的情况下,我们把ribbon和左侧导航还显示出来。

  1. <script>
  2.  
  3. function QueryString(item)
  4.  
  5. {
  6.  
  7. var sValue=location.search.match(new RegExp("[?&]"+item+"=([^&]*)(&?)","i"))
  8.  
  9. return sValue?sValue[1]:sValue
  10.  
  11. }
  12.  
  13. var ShowID=QueryString("ShowAll");
  14.  
  15. document.getElementById("s4-leftpanel").style.display='none';
  16.  
  17. document.getElementById("s4-ribbonrow").style.display='none';
  18.  
  19. document.getElementById("MSO_ContentTable").style.margin='0';
  20.  
  21. if(ShowID=="true")
  22.  
  23. {
  24.  
  25. document.getElementById("s4-leftpanel").style.display='block';
  26.  
  27. document.getElementById("s4-ribbonrow").style.display='block';
  28.  
  29. document.getElementById("MSO_ContentTable").style.margin='0 0 0 155px';
  30.  
  31. }
  32.  
  33. </script>

下图就是加脚本隐藏Ribbon和左侧导航后效果,大家如果想隐藏其他的东西,也可以采取这样的方法,自己感觉比直接隐藏在母版页上style=”display:none”的方法要稍微合理一点,或者直接删除是最不可取的方法了。

下面是传参数返回正常效果的图,大家可以看一下,ribbon和左侧导航都显示出来了,也可以正常的使用。当然,这样的操作,有可能在网络比较差的情况出现先加载出来ribbon和左侧导航的,然后消失掉,这样可以在母版页里隐藏掉,然后通过脚步显示出来也是可以的。

方法二 通过权限进行控制

  1. <Sharepoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl2" runat="server" PermissionsString="AddAndCustomizePages">
  2.  
  3. <script type="text/javascript">
  4.  
  5. JS脚步
  6.  
  7. </script>
  8.  
  9. </Sharepoint:SPSecurityTrimmedControl>

给大家权限控制的脚步,有兴趣的可以试试,其实效果和上面的是一样的,只是js执行由传参控制,变成了权限控制。当然,PermissionsString不仅仅是这一个权限的,还有很多权限,顺便给列一个吧。

微软官方PermissionsString所有值:

*************************************************************************************

SharePoint 2010 母版页定制小思路介绍的更多相关文章

  1. SharePoint 2010 母版页制作的简单介绍

    转:http://www.cnblogs.com/jianyus/archive/2012/01/11/2319621.html 1.  首先打开SharePoint Designer 2010,找到 ...

  2. 使用SharePoint 2010 母版页

    SharePoint 2010母版页所用的还是ASP.NET 2.0中的技术.通过该功能,实现了页面框架布局与实际内容的分离.虽然在本质上自定义母版页的过程和以前版本的SharePoint大致相同,但 ...

  3. 在SharePoint 2010 母版页里添加自定义用户控件

    在SharePoint 2010 母版页里添加自定义用户控件(译) 使用自定义用户控件的好处: 1.容易部署:2.易于控制显示或隐藏. (在使用的过程中)可能要面对的问题是:如何在用户控件里使用Sha ...

  4. SharePoint 2010 网站备份还原简单介绍

    今天尝试了SharePoint2010网站的备份和还原,从网上搜一些文档看看,然后自己试试,感觉和2007的操作没什么太大的区别,跟大家分享下自己尝试的命令行方式和数据库的方式,2007自己常用的也是 ...

  5. [SharePoint 2010] 如何在小組網站內頁面上撥放影片或是音效檔

    在SharePoint 2010中, 我們可以像是Youtube一樣在網頁上撥放影片或是音效檔案. 影片或音效是採取串流的方式來撥放. 也就是說我們不需要把整個檔案都下載回來才開始撥放. 點選沒多久我 ...

  6. SharePoint 2010 master page 控件介绍(1)

    转:http://blog.csdn.net/lgm97/article/details/6409204 以下所有的内容都是根据Randy Drisgill (MVP SharePoint Serve ...

  7. SharePoint 2010 master page 控件介绍(3) :页面主体内容

    转:http://blog.csdn.net/lgm97/article/details/6409217 <!-- =====  页面滚动区域开始  ====================== ...

  8. SharePoint 2010 master page 控件介绍(5):其他

    转:http://blog.csdn.net/lgm97/article/details/6409227 <!-- 处理搜索按下"enter"键和点击后退按钮 --> ...

  9. SharePoint 2010 master page 控件介绍(4):隐藏placeholder

    转:http://blog.csdn.net/lgm97/article/details/6409225 <!-- form digest  安全控件用来进行form的安全校验--> &l ...

随机推荐

  1. ASP.NET MVC5总结(二)@HTML扩展

    1.@Html.AntiForgeryToken() 用来防止跨站请求伪造(CSRF)攻击的一个措施 2.@Html.ValidationSummary(true) 主要用来 (1). 显示后台 Mo ...

  2. Object-C在Nil上调用方法

    在Object-C中,nil对象的作用等同于很多其它语言的NULL指针.不同的地方在于,在nil上调用方法不会导致程序崩溃或抛出异常. 这种技术被用在很多地方,但是对于我们来讲,最主要的就是我们不用在 ...

  3. SomeThing of Memcache

    Memcache for .net 文章一: http://blog.csdn.net/dinglang_2009/article/details/6917794 不定时更新

  4. Gradle实战教程之依赖管理

    这是从我个人网站中复制过来的,原文地址:http://coolshell.info/blog/2015/05/gradle-dependency-management.html,转载请注明出处. 简要 ...

  5. php PHP_EOL 常量

    换行符 unix系列用 \n windows系列用 \r\n mac用 \r PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性 <?php echo PHP_EOL; //win ...

  6. Spring Cloud Eureka Server 启停状态监控

    目前发现如下的api: 当时没有找到文档 http://localhost:8761/eureka/apps 参考文章:(此文中api带有v2我自己试验不需要v2) http://blog.csdn. ...

  7. 简洁代码---python---string

    判断字符串是否是回文的,即是否中心对称的: >>>return s[::-1] == s 对称返回True, 否则返回False

  8. WPF中嵌入Flash(ActiveX)

    1. 建立 WPF Application. 首先,建立一个名为 FlashinWPF 的 WPF Application 2. 设置 Window 属性. 在 XAML 中修改 Window 的属性 ...

  9. linux的getcwd和readlink的区别

    针对linux下的程序,有两个路径: 1>运行程序的路径; 2>可执行文件所在的路径 例如: 如果我在/home/yongchao下执行 $ ./temp/test    那么 运行程序的 ...

  10. Tekla Structures 使用类库概览

    Tekla Structures 2016 已经发布了,使用了 Ribbon 的全新 UI 风格,比以前要漂亮许多. 不过功能方面貌似没啥大的改进,感觉天宝的主要精力都投入到了混凝土模块上,忙着和别人 ...