• Sharepoint 2010 解决DFWP Unable to display this Web Part 的问题


    参考这个:
     
    简言之,微软为了防止dos攻击,在2011年5~8月份不知道哪个patch中将WebPart的xsl转换时间限制为1秒之内,如果超时就不显示该WebPart而给出如下错误消息:
    "Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Microsoft SharePoint Foundation-compatible HTML editor such as Microsoft SharePoint Designer. If the problem persists, contact your Web server administrator."
     
    通常这种情况发生在字段很多(比如超过30个子段)的定制Form之上。
     
    通常是第一次访问时出现这个错误,刷新页面后就正常显示了,估计是因为有缓存的缘故,如果不持续访问,过一段时间又会出现这个错误,估计是缓存失效了。
     
    微软在这个KB中给出了解决方案:
    1. 简化xls的代码,从而加快解析速度,于是不超时正常显示 (xsl不是很好写啊)
    2. 使用infopath form替代默认的Web Form (好像需要sharepoint企业版)
    3. 继承系统自带的DataFormWebPart,创建并应用自己的WebPart(看似复杂实则最可行)
    1) Sub class the DataForm Web Part. Override the following methods. Then Deploy the assembly.
    Example:
      public class customDFWP : DataFormWebPart
        {
            public override bool IsGhosted
            {
                get
                {
                    return true;
                }
            }
            public override bool CanHaveServerControls
            {
                get
                {
                    return true;
                }
            }
        }

    2) Add a safe control entry to the web.config
    Example: <SafeControl Assembly="customDFWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=963f869a440db619" Namespace="customDFWP" TypeName="*" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="False"/>

    3) Add the following to the <tagMapping> element of the web.config
    Example: <add tagType="Microsoft.SharePoint.WebPartPages.DataFormWebPart, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" mappedTagType="customDFWP.customDFWP, customDFWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=963f869a440db619" />

    4) Register the assembly on the form page.
    Example: <%@ Register tagprefix="customDFWP" namespace="customDFWP" assembly="customDFWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=963f869a440db619" %>

    5) On the form page find <WebPartPages:DataFormWebPart > and replace it with the new custom tag.
    Example:<customDFWP:customDFWP>
     
    更多参考:





  • 相关阅读:
    clearfix 清除浮动的问题
    python第四十五课——继承性之多继承
    Linux基础第六课——grep|awk|sort|uniq
    Linux基础第五课——用户管理
    Linux基础第四课——文件操作
    Linux第三课——目录操作
    Linux基础第二课——系统架构
    Linux基础第一课——基础知识了解
    01 http协议概念及工作流程
    18- php Redis扩展编译
  • 原文地址:https://www.cnblogs.com/teamleader/p/2314141.html
Copyright © 2020-2023  润新知