8
votes

Mettre à jour l'élément de liste SharePoint

J'ai eu l'erreur suivante ...

Système.NullReferenceException: référence d'objet non définie sur une instance d'un objet. chez Microsoft.SharePoint.splistitem.get_uniqueid () À ConsoleApplication1.program.main (String [] args) dans Program.cs: Ligne 21

exécutant le code suivant xxx

Quel est le problème?


1 commentaires

Je ne suis pas sûr de vrai problème, SharePointer; Quelle tâche essayez-vous d'accomplir?


4 Réponses :


1
votes

Essayez de faire appel à la mise à jour () dans la liste avant d'obtenir l'unique indiquant

 SPList list = web.Lists["ListName"]; // 2        
 SPListItem item = list.Items.Add();
 item["Title"] = "Test";
 item.Update ();
 list.Update ();
 Guid itemId = item.UniqueId;


3 commentaires

Merci! pour changer le nom. Son me donne le même système d'erreur.NullReferenceException: référence d'objet non définie sur une instance d'un OBJ ECT. chez Microsoft.SharePoint.splistitem.get_uniqueId () à ConsoleApplication1.program.main (String [] args) dans c: \ inetpub \ wwwroot \ ...... \ programme.cs: ligne 22


Exemple modifié pour définir une propriété factice et une mise à jour d'appel () sur l'élément avant de récupérer une pièce d'identité, ne faites pas de mousse pour tester, mais cela devrait fonctionner.


fonctionne mais crée une nouvelle entrée fraîche plutôt que de la mise à jour. Ce que j'ai réellement voulu, c'était la mise à jour de l'entrée Existitng



11
votes

Si vous essayez de modifier des valeurs pour un élément de liste juste inséré, vous devez utiliser:

SPList list = web.Lists["ListName"];
//SPListItem item = list.Items.Add();
//item["PercentComplete"] = .45; // 45%
//item.Update();

SPListItemCollection items = list.GetItems(new SPQuery()
{
    Query = @"<Where>
                <Eq>
                   <FieldRef Name='Title' />
                   <Value Type='Text'>Desigining</Value>
                </Eq>
              </Where>"
});

foreach (SPListItem item in items)
{
    item["PercentComplete"] = .45; // 45%
    item.Update();
}


2 commentaires

MERCI BEAUCOUP! Merci! Je vais essayer maintenant et que vous sachiez. j'apprécie beaucoup


J'avais peu d'erreurs mais j'ai réussi à les réparer en examinant la classe SpQuery pour MS Site Web. Encore une fois merci pour toute votre aide! j'apprécie beaucoup!



4
votes

La réponse de Ruben a été correcte mais obtenait peu d'erreurs (peut-être que ce n'était que pour moi), j'ai donc modifié un peu et que cela fonctionnait bien. Vous trouverez ci-dessous le code que j'ai utilisé si quelqu'un en a besoin xxx


0 commentaires

0
votes

Ma meilleure quess est que votre article n'est pas encore créé dans la liste lorsque vous le faites:

Guid itemId = item.UniqueId;
SPListItem itemUpdate = web.Lists["ListName"].Items[itemId];


1 commentaires

Merci :) - Toutes les idées sur Stackoverflow.com/questions/1588019/... s'il vous plaît?