Die richtige Art und Weise zu schreiben, die ein SharePoint-Benutzer einen Benutzer-Feld in einer SharePoint-Liste
Schreibe ich einen Benutzer einer SharePoint-Liste.
Habe ich gelesen, dass die SharePoint-Benutzer Feld ist ein string wie dieser drin:
userId;#userLoginName
Habe ich versucht, die Formatierung in der gleichen Art und Weise beim schreiben der User-Bereich, wenn ich zum Beispiel Schreibe diesen string funktioniert es:
9;#i:0#.f|membership|[email protected]
Aber was ist seltsam (zumindest für mich) ist, dass 9;#
scheint zu funktionieren oder sogar 9
. Auch wenn ich nicht bestehen, die userLoginName
info an alle, die loginId
zu sein scheint genug, um es zu erkennen, welche User ich spreche.
Dies scheint zu implizieren, dass beim schreiben auf der SharePoint-Benutzer-Feld, müssen Sie nur die id, und die userLoginName
oder, in der Tat, alles, was nach dem loginId
ist irrelevant.
Bin ich richtig in meiner Argumentation hier? Oder vielleicht gibt es unerwartete Folgen haben, wenn ich lassen Sie die userLoginName Informationen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Annahme richtig ist, nur Benutzer-Id ist eine zwingende Eigenschaft bei der Angabe den Wert für das Feld Benutzer.
Aber da SP.FieldUserValue Objekt verwendet wird, zum speichern des Werts des Feldes, ist es empfehlenswert, die get-und set-Werte, die dieses Objekt verwenden, wie gezeigt, in der unter Beispiel:
newItem.set_item('Manager', "9");
(das ist, wie mein Aktueller code funktioniert) es wäre besser, das zu tunvar assignedToVal = new SP.FieldUserValue(); assignedToVal.set_lookupId(9); item.set_item(fieldName,assignedToVal);
wenn ich folgenden richtig.SP.SOD.executeFunc('sp.js', 'SP.ClientContext', loadSPContext);
Finde ich die Antwort hier mit der person, die den Namen statt der id einfach als Benutzer-id
wenn Sie nicht haben es.
https://gist.github.com/rheid/18635032d8371c7825b3320eae57071f