2009-08-03 12 views
1

Ich habe Schwierigkeiten herauszufinden, wie ich in einer Liste in SharePoint auf eine bestimmte Artikelliste verweisen kann. Ich habe die Seite in SharePoint Designer nachgeschlagen und festgestellt, dass sich das Listenelement in einem benutzerdefinierten Webpart in einer benutzerdefinierten Webseite befindet. Ich kodiere einen Ereignisempfänger und muss die Informationen lesen, die der Benutzer in das Listenelement eingibt, das ein Textfeld ist. Kennt jemand den Code, um dies zu tun oder wie man die Guid für das spezifische Listenelement bekommt?Problem beim Suchen nach Artikel-Listen-ID in WSS 3.0

Ich würde jede mögliche Hilfe schätzen, die ich erhalten kann. Ich habe versucht, im Internet nach der Antwort zu suchen. Vielen Dank.

Antwort

1

Es könnte eine gute Idee sein, Ihre Frage mit genau dem zu bearbeiten, was Sie mit den Informationen tun möchten, die Sie gelesen haben. Aber von dem, was Sie bisher gesagt haben:

Die ID des zu editierenden Artikels wird bereits über SPItemEventProperties an den Event-Empfänger weitergeleitet, so dass Sie nicht nachsehen müssen. Wenn Sie ein anderes Element in der Liste (oder überhaupt in einer anderen Liste) suchen müssen, gibt Ihnen die Accessing list items using the object model Seite im SharePoint Dev Wiki alle Optionen. Eine gute allgemeine Regel ist die Verwendung von SPQuery, um insgesamt die beste Leistung zu erzielen.

Hinweis: Es gibt eine pretty good page auf dem SharePoint Dev Wiki, die zeigt, wie Sie einen Ereignisempfänger schreiben. Es zeigt, wie Sie einen Listenelementtitel abfragen und erhalten.

Update nach Kommentare:

Sobald Sie ein SPListItem Objekt haben, können Sie die GUID durch die UniqueId property finden. In dem oben aufgeführten Wiki-Link "Accessing lists" zeigen die Codebeispiele, wie die Title-Eigenschaft verwendet wird.

Alle Daten, auf die Sie innerhalb von SharePoint zugreifen müssen, sollten über das Objektmodell verfügbar sein. Dies ist eine Vereinfachung, aber im Allgemeinen werden die Seiten selbst aus Vorlagendateien auf dem Server gerendert und mit Daten in der Datenbank kombiniert, um sie dem Benutzer anzuzeigen. Das Bearbeiten der Seite programmgesteuert oder über die Quelle funktioniert nicht.

Entschuldigung, wenn ich eine falsche Annahme mache, aber Sie klingen ziemlich neu in SharePoint-Entwicklung. Ich empfehle dringend, dass Sie zumindest die ersten Kapitel von Inside Windows SharePoint Services 3.0 lesen, da die inneren Funktionen von SharePoint wichtig sind, um ein gutes Verständnis zu bekommen und dieses Buch sollte viel helfen. Es gibt auch einen Bereich von Ereignisempfängern.

+0

Brian Wilson hat einen sehr schönen Leitfaden über die Ereignisbehandlung geschrieben und ein vorgefertigtes Framework enthalten. Event-Handler kann eine Menge Spaß machen, glücklich Codierung – Kasper

+0

http://blogs.msdn.com/brianwillson/archive/2007/03/05/part-1-event-handlers-everything-you-need-to-know- Über-Microsoft-Office-Sharepoint-Portal-Server-Moss-Event-Handler.aspx – Kasper

+0

Vielen Dank für Ihre schnelle Rückmeldung. Ich schätze es sehr. Ich habe mich gefragt, ob es eine einfache Möglichkeit gibt, die Guid zu einem bestimmten Listenelement zu finden? Wohin würde ich gehen, um das zu finden? Kann ich über den Quellcode einer Seite oder über eine SharePoint-Seite darauf zugreifen? Das Listenelement, das ich zu lesen versuche, ist der Titelwert, wenn ein Benutzer versucht, einen neuen Datensatz in einer Liste zu erstellen. Nachdem sie die Informationen hinzugefügt haben, möchte ich überprüfen, ob dieser Titel bereits existiert, bevor ich erlaube, dass er als anderer Titel hinzugefügt wird. Ich hoffe, dies klärt das Problem. –

0

Haben Sie SharePoint.ListsService Webservice angeschaut?

string url = "WSS Site URL"; 
SharePoint.ListsService.Lists lists = SharePoint.ListsService.Lists(url); 
XmlNode list = lists.GetList("ListName"); 
XmlNode xlists = lists.GetListCollection();