ASP.NET Zone

Die ASP.NET Community. Alle Antworten rund um Microsoft® Webtechnologien
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe | Impressum | ASP.NET Zone Suchplugin

in
Home Blogs Foren FAQ Communities Fotos Downloads
Werbeanzeige

Dynamisches Rendern von Servercontrols

Letzter Beitrag 04-24-2012, 22:42 von Thomas Ehlert. 0 Antworten.
Beiträge sortieren: Zurück Weiter
  •  04-24-2012, 22:42 224209

    Dynamisches Rendern von Servercontrols

    Hi beisammen,

    ich habe ein etwas kitzliges Problem, was mich seit geraumer Zeit in Atem hält.

    Ich muss in einer Web-Application recht viele Reports implementieren, die sich über mehrere DLLs verstreuen können. Dabei lege ich pro Report eine Klasse an, die sich selbsttätig um die Datasources, Parameter, etc. kümmert. BTW ich nutze den Reportviewer von ASP.NET.
    Letztlich werden alle Reportnamen des Projekts per Reflection geholt, in eine Drop-Down-Box geschrieben und je nach Auswahl dem Reportvier-Steuerelement übergeben (ebenfalls per Reflection). Etwas erschwerend kommt hinzu, dass der Container in dem der Reportviewer und die Dropdown-Box liegt, von mir als Composit-Control (Webpart) angelegt wurde.

    So weit, so einfach. Das funktioniert wunderbar.

    Nun muss ich dummerweise eine Parametrierung der Reports für den User einbauen, soll heißen, ich muss je nach Report eine oder mehrere Datums-Auswahlen, Textauswahl, Dropdown-Felder oder was auch immer notwendig, anzeigen und dem Report übergeben.

    Da es ja nun pro Report bereits eine Klasse existiert, dachte ich mir, ich lasse diese Klasse einfach von WebControl erben und rendere einfach die von mir benötigten Felder raus. Beim Postback übernehme ich die eingegebenen Daten und kann so den Filter / die Sortierung für den Report anpassen. Aber wie geht man ein solches Problem an? In CreateChildControls kann ich einen expliziten Report nicht erstellen, da die Routine vor dem Einlesen des Viewstate ausgelöst wird und ich zu diesem Zeitpunkt ja keinerlei Informationen über den selektierten Report habe.

    Wenn man es herunterbrechen möchte ist die Frage - kann ich aufgrund des Zustandes eines Webcontrols dynamisch ein beliebiges weiteres Webcontrol innerhalb des ersten rendern? Und wie bringe ich dieses dynamische Webcontrol dazu die eingegebenen Daten über ein Postback zu behalten? Also quasi ein Composit-Control mit einer dynamischen Koponente?

    Ich hoffe irgendwer steigt durch mein wirres Geschreibsel...

    TIA Thomas

Als RSS Feed in XML ansehen
Powered by Community Server (Commercial Edition)