none
Gibt es etwas vergleichbares wie z.B. include() bei PHP um Seitenbereiche in weitere Dateien auszulagern? RRS feed

  • Frage

  • Hallo zusammen,

    ich arbeite zur Zeit an einer Seite, die so allmählich beginnt etwas komplexer zu werden. Dabei fällt mir immer wieder auf, wie oft ich hin- und herscrollen und Dinge suchen muss in der .aspx-Seite. Mir wäre es aber deutlich lieber, wenn ich das alles irgendwie aufteilen und strukturiert auslagern könnte.

    Vor allem werden ja im Moment alle Elemente auf der Seite mitgeladen, auch wenn sie im Moment noch gar nicht sichtbar sind, was auf Dauer auch störend sein könnte, denke ich.

    Unter PHP habe ich daher sehr gern sowas wie include("irgendeineseite.php") benutzt, um bestimmte Seitenbereiche in eigenen Dateien bearbeiten zu können und leichter die Übersicht zu behalten. Gibt es hierfür etwas vergleichbares?

    Grüße,

    Jessica

    Freitag, 23. Juli 2010 13:13

Antworten

  • Hallo Jessica,

    Unter PHP habe ich daher sehr gern sowas wie include("irgendeineseite.php") benutzt, um bestimmte Seitenbereiche in eigenen Dateien bearbeiten zu können und leichter die Übersicht zu behalten. Gibt es hierfür etwas vergleichbares?

    da gibt es sogar besseres. Bspw. UserControls. Einfach ein ASCX erstellen, dort das gewünschte rein und das Control in die WebForm eingebunden.

    Sachen, die man immer braucht, kann man bspw. auch in eine MasterPage packen und den Inhaltsbereich dann über die ContentPages füllen.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Freitag, 23. Juli 2010 13:35
    Moderator

Alle Antworten

  • Hallo Jessica,

    Unter PHP habe ich daher sehr gern sowas wie include("irgendeineseite.php") benutzt, um bestimmte Seitenbereiche in eigenen Dateien bearbeiten zu können und leichter die Übersicht zu behalten. Gibt es hierfür etwas vergleichbares?

    da gibt es sogar besseres. Bspw. UserControls. Einfach ein ASCX erstellen, dort das gewünschte rein und das Control in die WebForm eingebunden.

    Sachen, die man immer braucht, kann man bspw. auch in eine MasterPage packen und den Inhaltsbereich dann über die ContentPages füllen.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Freitag, 23. Juli 2010 13:35
    Moderator
  • Stimmt ja... daran hatte ich gar nicht mehr gedacht. Alles noch etwas gewöhnungsbedürftig für mich :)

    Mit den UserControls muss ich mich wohl erstmal nochmal genauer auseinandersetzen, da bin ich mir noch etwas unsicher damit.

    Aber eine weitere MasterPage könnte funktionieren. Ich hatte nicht daran gedacht, da ich bereits eine verwende und vergessen, dass man die unter Umständen ja auch schachteln kann, oder?

    Dann muss ich mir aber wohl noch einmal genauer ansehen, wie man Daten zwischen Master- & ContentPage austauscht ^^"

    Freitag, 23. Juli 2010 14:08
  • Hallo Jessica,

    >>Dann muss ich mir aber wohl noch einmal genauer ansehen, wie man Daten zwischen Master- & ContentPage austauscht

    vielleicht hilft Dir das weiter:

    http://www.asp.net/master-pages/tutorials

    Schöne Grüße

    Oliver

    Sonntag, 25. Juli 2010 08:08
  • Danke ^^
    Dienstag, 27. Juli 2010 09:18
  • Hm, ich hab inzwischen nochmal ein bisschen mit den MasterPages herumprobiert, um zu testen, ob ich damit das erreichen kann, was ich möchte. Das Problem, dass vorher alles in eine Seite gepackt war, hab ich damit behoben bekommen, es scheint jedoch einen kleinen negativen Nebeneffekt zu haben.

    Erstmal wie alles ungefähr aufgebaut ist:

    Ich habe mehrere verschiedene Seiten, die einen bestimmten Seitenbereich verschiedenen darstellen. (Also mal eine Detailansicht von einem Datensatz, dann ein Fenster zum Bearbeiten, etc.). Jede dieser Seiten verwendet die gleiche Masterpage, auf der ein TreeView liegt, mit den Datensätzen, die von den andren unterschiedlichen Seiten behandelt werden. Da das TreeView quasi immer da ist, hab ich das auf die MasterPage gepackt. Diese MasterPage verwendet wiederum ihrerseits eine andere MasterPage, die das Grunddesign (Header, Banner, etc.) beinhaltet.

    Soweit so gut. Jedes mal, wenn ich jetzt eine neue Contentpage anlege, habe ich auch wirklich nur den Bereich darauf, der mich interessiert. Der Rest liegt ja auf der MasterPage oder in einer andren eigenständigen Datei. Das gefällt mir schon mal gut.

    Jetzt zum Haken:

    Vorher konnte ich ganz einfach via UpdatePanel verhindern, dass bei jeder Aktion die gesamte Seite inklusive TreeView nachgeladen wird. Das war wichtig, da das TreeView für einen vollständigen Reload am längsten braucht.

    Irgendwie ist aber noch nicht so ganz zu mir durchgedrungen, wie ich das in der neuen Konstellation wieder hinkriege. Ich möchte also beispielsweise eine Node im TreeView anklicken können, woraufhin die Detailseite geladen wird, jedoch ohne, dass das TreeView auch neu nachgeladen wird.

    Ist das überhaupt möglich? Denn wie die andren Seiten nun auch, verwendet auch die Detailseite ja nun die MasterPage, auf der das TreeView liegt, weshalb beides jedes mal neu geladen wird, bei jedem Seitenwechsel.

    Mittwoch, 4. August 2010 10:42