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

作者:袖梨 2022-06-28

"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:

3) Add the following to the element of the web.config
Example:

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 and replace it with the new custom tag.
Example:

 

 

相关文章

精彩推荐