none
Client OM - ListField erstellen - KeyNotFoundException

    Frage

  • Hallo,

     

    ich habe ein Problem beim erstellen eines Listenfelds mit dem Client Object Model.

    Ich versuche ein Feld aus einer anderen Liste einer Teamwebsite in eine gleichnamige Liste einer anderen Teamwebsite zu kopieren wenn das Feld nicht bereits vorhanden ist.

     

    Dabei bekomme ich leider eine KeyNotFoundExxception, ich denke es könnte mit der ID des Feldes zusammenhängen aber ich habe keinen Lösungsansatz mit dem ich an das Problem herangehen könnte.

     

    Hier ist mal mein Code, vielleicht könnt Ihr mir sagen wo das Problem liegt und wie ich es beheben kann.

     

            private void createListFields(string listName)
            {
                bool fieldIsIncluded = false;
    
                List spList = clientContextUpdate.Web.Lists.GetByTitle(listName);
                List spListNew = clientContextNew.Web.Lists.GetByTitle(listName);
    
                clientContextUpdate.Load(spList.Fields);
                clientContextUpdate.ExecuteQuery();
    
                clientContextNew.Load(spListNew.Fields);
                clientContextNew.ExecuteQuery();
    
                for (int i = 0; i < spList.Fields.Count; i++)
                {
                    for (int x = 0; x < spListNew.Fields.Count; x++)
                    {
                        if (spList.Fields[i].Title == spListNew.Fields[x].Title)
                        {
                            fieldIsIncluded = true;
                            break;
                        }
                        else
                        {
                            fieldIsIncluded = false;
                        }
                    }
    
                    if (fieldIsIncluded == false)
                    {
                        spListNew.Fields.Add(spList.Fields[i]);
                        spListNew.Update();
                        clientContextNew.ExecuteQuery();
                    }
                }
            }
    

    Ich bin für alle hilfreichen Antworten dankbar.

    Grüße Alexander

    Montag, 23. Januar 2012 12:14