Programmgesteuert Feld Wert für sharepoint-Listenelement.
Ich versuche, fügen Sie einfach eine einfache text-oder hyperlink-Feld, um ein Listenelement in sharepoint 2007.
Kann ich das Feld hinzufügen kein problem:
list.Fields.Add("MyField",SPFieldType.Text, false);
Und es zeigt sich fein auf meine Liste posten.
Aber egal wie ich es versuche, ich kann nicht programmgesteuert einen Wert für das Feld. Ich habe versucht:
list.items[0]["MyField"] = "text";
und ich habe versucht, das laden in einem Feld:
SPField field = list.items[0].Fields["MyField"];
und Einstellung gibt es, und die Einstellung der Standard-Wert und aktualisiert, aber nichts was so passiert.
Ich beende meine code-Blöcke mit einer Liste.update(); oder wenn ich den Betrieb auf dem Element selbst zu posten.update(); ich bin also zumindest nicht fehlen. Kann mir jemand sagen was ich falsch mache?
Dank
- Sind ContentTypes in der Liste aktiviert?
- Nein, Sie sind nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Obwohl es scheint, entspricht der obige code ist nicht das gleiche wie:
Weitere Informationen finden Sie unter hier und hier für Leute, die dokumentiert haben das gleiche Verhalten.
Könnte Sie versuchen, dies für das hinzufügen eines neuen Feldes und Einstellung ein Standardwert? Ungetestete code. lassen Sie mich wissen, wie es geht.
Ich habe immer gefunden, der beste Weg ist, um einen Verweis auf das Listenelement direkt und zu aktualisieren, insbesondere als Gegensatz zur Verwendung der indexer-route. Nur, wie Reich das erste Beispiel erwähnt.
http://www.sharepointdevwiki.com/display/public/Updating+a+List+Item+programmatically+using+the+object+model
Aus allen der obigen Diskussion scheint es, dass Sie versuchen, den Wert des Feldes in eine Liste event-handler, und Sie setzen den Wert im Artikel hinzufügen oder Artikel-Aktualisierung-Ereignis. Wenn dies der Fall ist, dann müssen Sie überlegen, AfterProperties. Denken Sie daran, wir haben die *ing und *ed-Ereignisse und im Fall von *ing-Veranstaltungen, an denen wir arbeiten müssen, BeforeProperties und AfterProperties.
Ich hoffe, das hilft!