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.




Button Events in Web Parts

Unbeantwortet Dieser Beitrag hat 0 Antworten

Ohne Rang
1 Beiträge
Patrick erstellt 2 Nov. 2009 17:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo

Ich bin noch ziemlich neu in der Web Part Entwicklung.  Bisher habe ich mich nur mit der Entwicklung von Applikationen und Windows Diensten beschäftigt, noch nicht mit Webapplikationen oder ähnlichem. Eins meiner Web Parts soll Daten aus einer Datenbank in einem Grid anzeigen. Das klappt soweit auch schon ganz gut.

Jetzt möchte ich, dass diese Daten auf Knopfdruck in eine Datei auf den Client exportiert werden können.

Gelöst wird das ganze wie folgt:

// CSV-File erstellen

HttpContext.Current.Response.Clear();

HttpContext.Current.Response.ContentType = "plain/text";

HttpContext.Current.Response.AddHeader("content-disposition", "Attachment;filename=test.csv");

 

// Hier habe ich bereits einiges ausprobiert:

// 1. Zeilenweise den Gridinhalt schrieben wollen

// 2. Den Exporttext bereits beim Daten holen in eine String Variable

// geschrieben die ein Attribut des Web Parts ist.

// 3. Den Text in eine Textbox schreiben und diesen exportieren

 

// Folgendes funktioniert löst aber verständlicherweise mein Problem

// nicht.

HttpContext.Current.Response.Write(“Hallo;Welt!”);

 

HttpContext.Current.Response.Flush();

HttpContext.Current.Response.Clear();

HttpContext.Current.Response.Close();

Zu  1.: Nach betätigen des Knopfes ist die Anzahl der Zeilen in dem Grid 0, obwohl ich mehr Zeilen sehen kann?!?

Zu 2.: Dieses Attribut vom Typ String ist leer, es sei denn ich schreibe irgendwas statisches im Konstruktor des Web Parts rein. Ist aber für meine Lösung genauso hilfreich, wie mein „Hello World!“ Beispiel.

Zu 3.: Das funktioniert. Den Inhalt der Textbox genau wie beim 2. Versuch beim Daten holen füllen. Dann den Inhalt der Textbox per Write() in die Datei schreiben. Das funktioniert, aber ich möchte ja nicht, dass der Inhalt der Textbox für den Benutzer zu lesen ist, weil er einfach stört. Sobald aber diese Textbox nur auf Visible=False steht, ist der Text beim drücken auf den Knopf leer, wenn ich exportieren möchte.

Meine Fragen sind:

Wieso ist das so, dass das sichtbare Grid, für den Code an der Stelle „leer“ ist. Bzw. dass meine Textbox „leer“ ist, wenn sie nicht gerendert wird. Bzw. dass mein Attribute „null“ ist, es sei denn ich schreibe im Konstruktor des Web Parts etwas anderes rein?

Außerdem stelle ich fest, dass nachdem dieser Event Handler ausgeführt wird. Kein Eventhandler auf der Seite mehr reagiert. Ich kann also weder diesen noch irgendeinen anderen Knopf in diesem oder anderen Web Parts drücken.

Vielen Dank im Voraus für Eure Mühen und daraus resultierenden Tipps

Mit freundlichen Grüßen

Patrick

PS: Heißt es eigentlich „das“, „der“ oder schlimmstenfalls sogar „die“ Web Part?