2011-01-10 20 views
0

私はそれのための接着剤を見つけることができません。ブラウザでListitemを編集しようとすると、エラーが発生するログには以下のようなメッセージが表示されます。Sharepoint編集フォームエラー

ファイルが見つかりません:C:¥Program Files¥Common Files¥Microsoft Shared¥Web Server Extensions¥14¥Template¥Layouts¥EditingMenu¥SiteAction .xml System.ArgumentNullException:NULLを無視しています。パラメータ名:System.IO.StringReader..ctor(String s)System.Xml.XmlDocument.LoadXml(String xml)Microsoft.SharePoint.Publishing.Internal.WorkflowUtilities.FlattenXmlToHashtable(String strXml)Microsoft.SharePoint.Publishingコンストラクタ(System.Web.UI.Controlから継承されます)。 ()System.Web.UI.Control.PreRenderRecursiveInternal()System.Web.UI.Control.PreRenderRecursiveInternal()... 489b3ebb-eb93-4172- SharePoint Foundation Runtime tkau予期しないSystem.Web.UI.Page。 ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint)
Xmlは、プレースメントおよび編集フォーム用です。参考になっ

おかげラース

+0

これをさらに混乱させるために、3つの非常に古いエントリでは、まだ必要なルックアップフィールドが導入されていませんでした。それらのうちの1つを編集すると、それらが壊れてしまい、最初のバージョンに戻ってもまだ破損してしまいます。フィールドを必要としないように変更し、新しいエントリを作成しないと、壊れたアイテムも生成されます。 –

答えて

0

が実際にあった同じWebで他のリストは

どれヒントは次のようになります(..とIISRESETなど)であっても新しいのEditFormを作ってみました...よく働いていますエレメントのコンテンツタイプに添付されているDisposition Approvalのワークフロー。誰がそこに配置したのかは分かりませんが、タスクはリストにあります。ワークフローは私にはほとんど見えませんでした。エラーが奇数と私は予想

ラース

1

をdidntのSharePoint 2010のはAssociationData要素がAssociationData要素は、ワークフローの定義スキーマ内のタグで有効なXMLを、含まれていることを期待しているため、例外がスローされます。何かであります

それはアプリケーションやワークフローインスタンスのためだけに役立ちます:私は残念ながらSP 2010年に私たちSP 2007アプリケーションを移行した後に、この問題に直面してきた、それは自分のワークフロー定義にAssociationData要素に有効なXMLを適用するために十分ではありません変更が行われた後に作成/開始されます。したがって、ライブアプリケーションや開始されたワークフローインスタンスでは、オブジェクトモデルを通じて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のアプリケーションに対して使用:基本的な方法は以下のとおりです。 私はこれが役に立つと願っています。