2011-01-10 80 views
0

我找不到胶水。试图在浏览器中编辑列表项,我得到一个错误日志说:Sharepoint编辑表格错误

找不到文件:C:\ Program Files文件\ Common Files文件\ Microsoft共享\ Web服务器Extensions \ 14 \模板\布局\ EditingMenu \ SiteAction .xml System.ArgumentNullException:Der Wert darf nicht NULL sein。 Parametername:s bei System.IO.StringReader..ctor(String s)bei System.Xml.XmlDocument.LoadXml(String xml)bei Microsoft.SharePoint.Publishing.Internal.WorkflowUtilities.FlattenXmlToHashtable(String strXml)bei Microsoft.SharePoint.Publishing .Internal.WorkflowUtilities.DoesWorkflowCancelWhenItemEdited(String associationXml)bei Microsoft.SharePoint.Publishing.WebControls.ConsoleDataSource.EnsurePageNotInLockingWorkflowIfInEditMode()bei Microsoft.SharePoint.Publishing.WebControls.ConsoleDataSource.OnPreRender(EventArgs e)bei System.Web.UI.Control.PreRenderRecursiveInternal ()bei System.Web.UI.Control.PreRenderRecursiveInternal()bei System.Web.UI.Control.PreRenderRecursiveInternal()bei Sy ... 489b3ebb-eb93-4172- SharePoint Foundation Runtime tkau意外的System.Web.UI.Page。 ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)
该Xml就位和编辑表单在同一个网络上的其他列表运作良好......甚至试图作出新的Editform(和IISRESET等)

任何暗示将是有益的

感谢拉尔斯

+0

使它更令人困惑,它仍然适用于3个非常旧的条目,其中没有引入必需的查找字段。编辑他们之一,使他们损坏,恢复到第一版仍然使他们损坏改变字段是不需要的,并使新的条目没有他们产生损坏的项目我也不知道.. – 2011-01-10 16:33:01

回答

0

其实有一个处理批准工作流程附加到元素内容类型中,而不是放置在那里的人员,但无论如何可以在列表中找到任务。工作流对我来说几乎是无形的。该错误是奇数和一些我没有预料

拉尔斯

1

抛出异常,因为SharePoint 2010中预计,AssociationData元素包含一个有效的XML,其中AssociationData元素在工作流定义架构的标签。我2007应用程序迁移我们的SP至2010年SP不幸的是后面对这个问题,这是不够的,只是申请一个有效的XML AssociationData元素在你的工作流定义:

它不仅帮助应用程序和工作流实例在修改完成后创建/启动。因此,对于实时应用程序和已启动的工作流实例,我们必须通过对象模型更改AssociationData。我实现了这里描述的一套方法 - SharePoint: Workflow + List Item Edit Form = Value cannot be null Exception。基本方法如下:

public static void AdjustAssociationData(SPWorkflowAssociation workflowAssociation, SPWorkflowAssociationCollection collection) 
{ 
    if (!IsValidXml(workflowAssociation.AssociationData)) 
    { 
     string newValue = string.IsNullOrEmpty(workflowAssociation.AssociationData) 
           ? "<Data />" 
           : string.Format("<Data>{0}</Data>", workflowAssociation.AssociationData); 
     workflowAssociation.AssociationData = newValue; 
     collection.Update(workflowAssociation); 
    } 
} 

public static bool IsValidXml(string str) 
{ 
    if (!string.IsNullOrEmpty(str)) 
    { 
     try 
     { 
      XmlDocument xmlDoc = new XmlDocument(); 
      xmlDoc.LoadXml(str); 
      return true; 
     } 
     catch {} 
    } 
    return false; 
} 

此外,从上面提到的博客文章,你可以下载我公司开发的控制台应用程序,并针对我们的问题的SP应用使用。 我希望这会有用。