前言

最近系统从2010升级至2013,有自定义模板页。突然发现在列表中切换不了视图,让我很费解。

我尝试过以下解决方案:

  1. 去掉自定义css
  2. 去掉自定义js
  3. 禁用所有自定义功能

结果都没有效还是一样的不出来。甚至我重新生成了新的模板页。

原因

后来我发现就算在设计管理器中创建新的 空白HTML模板页还是一样的会有问题。真正的原因是因为模板页中缺少一段必要代码。就算是系统自带的Seattle默认页在经过修改了HTML模板页然后重新生成后一样会有问题。所以我判断这是一个设计缺陷

默认情况下生成的空白html模板页的PlaceHolderLeftNavBar是这样的

  <!--SPM:<SharePoint:AjaxDelta id="DeltaPlaceHolderLeftNavBar" Visible="false" class="ms-core-navigation ms-belltown-sideNavDelta" BlockElement="true" runat="server">-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" Visible="false" runat="server">-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarTop" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderQuickLaunchTop" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarDataSource" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderLeftActions" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderQuickLaunchBottom" Visible="false" runat="server"/>--> <!--SPM:</asp:ContentPlaceHolder>-->
<!--SPM:</SharePoint:AjaxDelta>-->

  效果:

  

缺少这一段代码:

<!--SPM:<SharePoint:SPNavigationManager id="TreeViewNavigationManagerV4" runat="server"	ContainedControl="TreeView" CssClass="ms-tv-box">-->
<!--SPM:<SharePoint:DelegateControl runat="server" ControlId="TreeViewAndDataSource">-->
<!--SPM:</SharePoint:DelegateControl>-->
<!--SPM:</SharePoint:SPNavigationManager>-->

  

解决方案

将缺失的代码插入

<!--SPM:<SharePoint:AjaxDelta id="DeltaPlaceHolderLeftNavBar" Visible="false" class="ms-core-navigation ms-belltown-sideNavDelta" BlockElement="true" runat="server">-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" Visible="false" runat="server">-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarTop" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderQuickLaunchTop" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarDataSource" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderLeftActions" Visible="false" runat="server"/>-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderQuickLaunchBottom" Visible="false" runat="server"/>--> <!--就是这里的问题-->
<!--SPM:<SharePoint:SPNavigationManager id="TreeViewNavigationManagerV4" runat="server" ContainedControl="TreeView" CssClass="ms-tv-box">-->
<!--SPM:<SharePoint:DelegateControl runat="server" ControlId="TreeViewAndDataSource">-->
<!--SPM:</SharePoint:DelegateControl>-->
<!--SPM:</SharePoint:SPNavigationManager>--> <!--SPM:</asp:ContentPlaceHolder>-->
<!--SPM:</SharePoint:AjaxDelta>-->

这才是我们想要的:

总结

没什么总结,总结就是我最近越来越恨2013的设计者了!!!。。。。。。

SharePoint 2013 自定义模板页后在列表里修改不了视图的更多相关文章

  1. SharePoint 2013 自定义翻页显示列表项

    项目需求:自定义开发一个能分页显示列表项的小部件,允许左右翻页,能根据用户权限来显示管理链接等. 效果如下: 技术要求:使用sharepoint rest API 来获取列表项,这样性能高,能够快速响 ...

  2. 浅谈SharePoint 2013 站点模板开发 转载自http://www.cnblogs.com/jianyus/p/3511550.html

    一直以来所接触的SharePoint开发,都是Designer配合Visual Studio,前者设计页面,后者开发功能,相互合作,完成SharePoint网站开发.直到SharePoint 2013 ...

  3. 浅谈SharePoint 2013 站点模板开发

    一直以来所接触的SharePoint开发,都是Designer配合Visual Studio,前者设计页面,后者开发功能,相互合作,完成SharePoint网站开发.直到SharePoint 2013 ...

  4. 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询

    前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...

  5. SharePoint 2013 自定义扩展菜单

    在对SharePoint进行开发或者功能扩展的时候,经常需要对一些默认的菜单进行扩展,以使我们开发的东西更适合SharePoint本身的样式.SharePoint的各种功能菜单,像网站设置.Ribbo ...

  6. SharePoint 2013 自定义扩展菜单(二)

    接博文<SharePoint 2013 自定义扩展菜单>,多加了几个例子,方便大家理解. 例七 列表设置菜单扩展(listedit.aspx) 扩展效果 XML描述 <CustomA ...

  7. 【FBA】SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用

    //http://www.cnblogs.com/OceanEyes/p/custom-provider-in-sharepoint-2013-fba-authentication.html 由于项目 ...

  8. [FBA]SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用

    //http://tech.ddvip.com/2014-05/1401197453210723.html 由于项目的需要,登录SharePoint Application的用户将从一个统一平台中获取 ...

  9. SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用

    由于项目的需要,登录SharePoint Application的用户将从一个统一平台中获取,而不是从Domain中获取,所以需要对SharePoint Application的身份验证(Claims ...

随机推荐

  1. 基于Maven构建整合SpringMVC+Mybtis+Druid

    前几天趁空闲时间整合了下SpringMVC+Mybatis+Druid,这里小记录下,这个Demo是基于Maven构建的,数据源用的是阿里巴巴温少的开源项目Druid,数据库用的是Mysql. 由于E ...

  2. angularjs + seajs构建Web Form前端(二)

    回顾 上一篇讲解了引入bootstrap构建一个简单的登录页面,如何让angularjs自动启动并绑定视图,操作过程当中如何使用ui-bootstrap,继而完成简单功能后如何引入seajs后如何使n ...

  3. windbg加载sos.dll

    SOS.dll 中提供的 Son of Strike 扩展 (SOS),用于调试 WinDbg 中的托管代码.在启动了调试程序并将其附加到托管进程(或加载故障转储) .load C:\Windows\ ...

  4. HTML5[7]: 实现网页版的加载更多

    理所当然,jQuery出场: $(function() { $(window).scroll(function() { if($(this).scrollTop() + $(this).innerHe ...

  5. C#中子类与父类的相互转换

    1.父类不能直接强制转换成子类 2.子类可以强制转换成父类,但是在父类中只能取父类的字段与方法 因此在一个父类对应多个子类的时候,不知道具体是哪个子类的时候,就可以先声明一个父类的类型.(如例1) 3 ...

  6. bootstrap插件学习-bootstrap.button.js

    先看bootstrap.button.js的结构 var Button = function ( element, options ){} //构造器 Button.prototype = {} // ...

  7. EPANET中读取INPUT文件的函数文件——INPUT1.C/INPUT2.C/INPUT3.C

    首先介绍下这3个文件的关系:可以说INPUT1.C的函数粒度最大,它的函数getdata()就完成了整个INPUT文件数据的读入,该函数又调用了INPUT2.C中的部分函数,INPUT2.C文件中的函 ...

  8. android:inputType参数类型说明

    android:inputType参数类型说明 android:inputType="none"--输入普通字符 android:inputType="text" ...

  9. Entity FrameWork 延迟加载本质(二)

    1.对于外键实体而言,EF会在用到这个外键属性的时候,才会去查对应的表.这就是按需加载了... 2.按需加载的缺点:每次调用外键实体的时候,都会去查询数据库(EF有小优化:相同的外键实体只查一次) I ...

  10. MVC中Action之间传值

    一  MVCAction之间的传值 之前一直觉得关于MVC里面的传值,只能从<视图—>Action>,和<Actoin->视图>但是今天在项目里面需要实现将几个视图 ...