2009-07-02 5 views
0

Ich konvertiere eine alte HTML-basierte Website nach ASP.NET, so dass wir später weitere Funktionen wie AJAX, Datenbanken auf der Website hinzufügen können. Derzeit ist es meine Aufgabe, eine neue ASPX-Seite für jede ältere HTML-Seite zu erstellen. Um das Layout persistent zu halten, habe ich eine Masterseite erstellt.Erstellen einer statischen ASP.NET-Site mit mehr als 100 Seiten

Derzeit baue ich eine Inhaltsseite von der Masterseite, benenne dann die Inhaltsseite um und füge den Text von der HTML-Seite zum Inhaltsplatzhalterbereich hinzu. Allerdings habe ich mich gefragt, ob ich nicht ein System schreiben kann, das als Page Thrower agieren kann.

Jeder Hyperlink, auf den geklickt wird, wechselt zu einem serverseitigen Code, wo er die Seite anfordert, die er laden möchte. Normalerweise erwartet ein Webserver, dass der im Hyperlink angegebene Pagelink physisch existiert, aber hier versuche ich, das zu tun. Nehmen wir an, der Link ist für die Seite "TravelDetails", die Seite muss nicht physisch vorhanden sein, aber der Inhalt davon ist in einer Datei im (HTML-Format) vorhanden. So sammelt der Page Thrower die Daten, die für diese Seite angezeigt werden sollen, er hat bereits eine Masterseite, fügt die HTML-Datei dort hinzu und wirft dann die benutzerdefinierte Seite. Auf diese Weise muss ich nicht mehr als 100 ASPX-Seiten verwalten, ich kann mit einer einzelnen Seite arbeiten und eine andere Datenstruktur verwalten, um den Inhalt (statische Daten) für jede Seite zu speichern. irgendeine Anleitung, wenn meine Herangehensweise richtig ist und wie ich vorgehen soll?

Dank

Antwort

2

Ich denke, Sie sollten einige cms im Markt wie dotnetnuke. Denn jedes Mal, wenn Sie eine Webseite für eine HTML-Seite erstellen müssen. In Zukunft, wenn es Änderungen geben wird, wird es Zeit brauchen. Während in cms wie dotnetnuke müssen Sie nur Ihre HTML in das bestehende System einfügen. Sie müssen nicht erneut codieren.

DotNetNuke ist ein freies. Es gibt auch andere Content Management System. Ein weiterer Vorteil ist, dass dotnetnuke Hautmerkmale hat. Also, wenn Sie die Haut an einem Ort wechseln. Sie müssen es nicht für alle Orte tun.

0

Werfen Sie einen Blick at ASP.NET MVC. Es verwendet ASP.NET Routing, die Ihnen helfen können.

Alternativ können Sie auch ASP.NET Routing ohne MVC verwenden.

Matthias

+0

Hallo ich bin mir der Routing-Funktion bewusst, Idee ist, dass ich nicht mehrere Seiten für jedes Element wollen. Ich möchte eine einzelne Datei pflegen, die die Markierungen enthält, von denen die Daten abgerufen und angezeigt werden können, basierend auf dem Link, auf den der Benutzer geklickt hat. –

+0

Ich denke, dass Sie dies mit MVC und Routing tun können: Eine einzelne Seite ist ein Datensatz in Ihrem DB, damit der Controller den Datensatz (Seiteninhalt) an die Ansicht übergeben kann. Dies erfordert nur eine einzige Ansicht, die ein Seiteninhaltsobjekt als Parameter akzeptiert. Siehe "Die Listenaktion, Ansicht" in http://blogs.msdn.com/brada/archive/2008/01/29/asp-net-mvc-example-application-over-northwind-with-the-entity-framework .aspx für ein Beispiel. –

0

Nur so ein Gedanke. Erstellen Sie eine Seite, die mit der Masterseite verknüpft ist. Fügen Sie im Inhaltsplacehalter ein Panel hinzu. Lassen Sie Ihre Seite Werfer entscheiden, welche Seite anzuzeigen, holen Sie die HTML-Daten & fügen Sie es zur Laufzeit der Konsole.

+0

Genau das ist, was ich suche. aber woher kann ich ein beispiel finden, das bereits eine idee wie folgt implementiert hat? –

+0

auf einen weiteren Gedanken, ich kann diese zu einer Datenbank (der HTML-Markup) hinzufügen und es kann aus der Datenbank abrufen und hier hinzufügen! –

0

Warum erstellen Sie die Seiten nicht dynamisch und verwenden Sie ASP.net-Caching, um den Durchsatz zu erhöhen.

Verwandte Themen