2011-01-10 109 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應用使用。 我希望這會有用。