Symptoms
Consider the following scenario:
If the list contains a large number of columns or custom XSL has been applied to the DataForm web part the following error message may be displayed:
"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."
- Create a list or library in SharePoint 2010.
- Open the list / library in SharePoint Designer.
- Close and hide the XSLTListView Web part on the page.
- Insert a DataForm web part on the page.
If the list contains a large number of columns or custom XSL has been applied to the DataForm web part the following error message may be displayed:
"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."
Cause
The time allowed for doing the XSL transformation was exceeded.
In SharePoint 2010 the XSL transform cannot take longer than 1 second.
In SharePoint 2010 the XSL transform cannot take longer than 1 second.
Resolution
Solution 1
- Simplify the custom XSL that was added to the DataForm web part.
Solution 2
- Browse to the list or library.
- In the ribbon select List, Customize Form
Solution 3
- 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;
}
}
}
- 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"/> - 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" /> - Register the assembly on the form page.
Example: <%@ Register tagprefix="customDFWP" namespace="customDFWP" assembly="customDFWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=963f869a440db619" %> - On the form page find <WebPartPages:DataFormWebPart > and replace it with the new custom tag.
Example:<customDFWP:customDFWP>