2016-05-10 17 views
0

Ich habe derzeit eine Webanwendung, die eine einzige Dashboard-Seite bedient. Der Client möchte mehrere Dashboards für verschiedene Systeme auf demselben physischen Computer anzeigen. Sie möchten es vermeiden, viele Instanzen der Anwendung zu installieren, da dies zu viele Ports zum Anzeigen verschiedener Dashboards erfordern würde.Design-Problem - ASPX-Seiten dynamisch erstellen

Sie haben vorgeschlagen, dass ich meine Anwendung so ändere, dass sie mehrere Registerkarten/Seiten für jedes Dashboard enthält. Zur Zeit habe ich einige C# -Klassen, die die Daten sammeln und verarbeiten und in die Datei Default.aspx.cs einspeisen, die dann Web-HTML-Steuerelemente verwendet, um den HTML-Inhalt zu generieren und über einen Platzhalter in die Default.aspx-Seite einzufügen.

Zur Laufzeit weiß ich nicht, wie viele Dashboards es wird oder wie sie aufgerufen werden (die C# -Klassen lesen Informationen aus Textdateien in jedem Dashboard-Verzeichnis auf dem Laufwerk, C: \ Dashboard1 * .txt C: \ Dashboard2 * .txt).

Ich bin neu hier und ich bin schwer zu sehen, wie das Design aufgeteilt wird, so dass ich die aspx.cs-Datei und aspx-Datei für jedes Dashboard-Objekt dynamisch erstellen kann.

Eine Lösung wäre das Erstellen einer Dashboard.cs-Klasse, die die gesamte HTML-Generierung (anstelle von default.aspx.cs) verarbeitet und dynamisch eine aspx-Seite für jedes in C: gefundene Dashboard erstellt. Würden alle Web HTMLControls weiterhin ohne eine Verknüpfung zwischen einer aspx.cs-Datei und einer aspx-Datei funktionieren?

Ich weiß, diese Frage ist vage ... genauer gesagt denke ich, ich frage:

Wie erstelle ich eine aspx Seite dynamisch aus einer # Klasse C und dann Web-HTML-Steuerelemente, um es hinzuzufügen? Z.B. Erstellen Sie die ASPX-Seite aus einer Vorlage und verwenden Sie dann Steuerelemente wie HTMLGenericControl RowDiv = new HTMLGenericControl('div'). Ich weiß nicht, wie ich meine C# -Klasse mit der neu erstellten Aspx-Seite verknüpfen soll, so dass die HTML-Websteuerelemente wussten, dass sie zu dieser neuen aspx-Seite hinzugefügt werden sollten.

Antwort

0

Ich würde das Dashboard als ein Benutzersteuerelement erstellen und die Steuerelemente hinzufügen, die Sie dynamisch benötigen. Auf diese Weise haben Sie auch die Möglichkeit, anders aussehende Dashboards zu erstellen (wenn Sie es brauchen).