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>
 
更多参考:





你可能感兴趣的:(SharePoint)