SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Anhänge programmatisch aus dem FormField abfragen

Geprüfte Antwort Dieser Beitrag hat 4 Antworten

Ohne Rang
242 Beiträge
Peter Oswald erstellt 8 Mai 2013 12:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich würde gerne in einem Webpart die Anhänge im Current Item überprüfen. Im meinem Webpart übernimmt ein FormField die Aufgabe, die Anhänge anzuzeigen:

  • <SharePoint:FormField ID="AttachmentsField" runat="server" __designer:bind="{ddwrt:DataBind('i','AttachmentsField','Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Attachments')}"
       ControlMode="Edit" FieldName="Attachments" />

Jetzt möchte ich aber vor dem Speichern die gemachten Anhänge prüfen. Das Current Item liefert zwar die SPAttachmentCollection, aber das sind ja auch nur die, die bereits gespeichert sind. Wie ziehe ich jetzt innerhalb der Form alle Anhänge (bereits gemachte und neu hinzugekommene) aus dem FormField?

Vielen Dank im Voraus.

VG

P.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Mai 2013 13:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Per Webpart geht das gar nicht (außer das Webpart erzeugt passendes JavaScript). Ein Webpart bekommt das ja erst nach einem Postback mit und dann ist das ListItem bereits gespeichert.

Entweder Du machst das clientseitig per JavaScript (dann schaue Dir den HTML-Code an, der vom FormField gerendert wird) oder Du entwickelst einen EventReceiver, dann geht es auch serverseitig.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
242 Beiträge
Peter Oswald Als Antwort am 8 Mai 2013 13:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

das glaube ich nun nicht, denn das Control, das die Anhänge enthält, ist ja innerhalb des Webparts. Wo soll denn die Information, welche Anhänge verwendet werden sollen, sonst abgelegt sein? Es gibt ja nur zwei Orte: Current Item und die Form (und auf der Form ist nur ein Webpart)!? Und die Funktion "Attach File" fügt ja korrekt neue Einträge hinzu.

(wäre es nicht so umständlich, hier ein Bild einzufügen, hätte ich mal kurz nen Screenshot reinkopiert, aber dieser Medien-Button zeigt bei mir auf einen kryptischen Ordner und für nen Upload auf ne URL bin ich grad zu faul ;-))

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Mai 2013 13:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Peter Oswald"]das glaube ich nun nicht, denn das Control, das die Anhänge enthält, ist ja innerhalb des Webparts[/quote]

Da solltest Du Dich noch etwas mehr mit den Grundlagen von Webanwendungen vertraut machen ;-)

Das gesamte Formular wird serverseitig erzeugt und dann HTML zum Browser geschickt. Der Benutzer kann dann Text eingeben, Häkchen setzen, etwas auswählen, usw. Und eben auch Dateien anfügen. Alles das geschieht erstmal rein clientseitig. Wenn der Benutzer dann auf "Speichern" klickt, werden die Daten zum Server gesendet und dort verarbeitet.

Schaue Dir einfach mal im HTML-Code des Formulars an, wie das FormField für die Anhänge beim Client ankommt. Das ist eine relativ komplizierte Angelegenheit mit JavaScript.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
242 Beiträge
Peter Oswald Als Antwort am 8 Mai 2013 14:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

yapp, passt schon, hab meinen Denkfehler gefunden. Und wenn man den Current Item auch für das Update verwendet und nicht ein separates SPItem-Objekt dann funktioniert es auch ;-)

Vielen Dank für den Support ;-).