none
Webforms mit "Laschen": verhindern, dass nicht sichtbare Elemente béim Start geladen werden RRS feed

  • Frage

  • Hallo NG,
    ich habe eine Seite mit vielen "Laschen"´. Dahinter befinden sich GridViews oder DetailViews mit eigenen SqlDataSources. Die einzelnen Pages werden mit einem MultiView gesteuert.

    Nun habe ich festgestellt, dass beim Laden der Seite alle Elemente aller Views geladen werden. Das dauert natürlich entspr. lange. Deshalb würde ich gern immer nur die Elemente des aktuellen Views laden. Ich dachte, das ich das mit Visible=false steuern könnte, aber auch da erfolgt die SQL-Abfrage.

    Welche Möglichkeit gibt es, dieses Problem zu lösen?

    Danke

    Uwe


    Mittelung vom Forum

    Dienstag, 5. März 2019 08:10

Antworten

  • Hallo Uwe,

    mit diesen Uraltkonstrukten wie MultiView, ... hast Du eigentlich gar keine Möglichkeit, das ordentlich und sauber zu lösen. Verabschiede dich von dieser WebForms Anwendung und setz den Fokus auf eine Neuentwicklung.

    Die einzige Möglichkeit, die mir da einfällt, wäre, im Codebehind Teil deiner Page relativ früh (Page_Init oder spät. Page_Load) zu prüfen, welche View aktiv ist und dann für alle anderen Views die Controls zu enfernen. Alternativ andersherum, also die Controls des aktuellen View dynamisch per Code hinzufügen und nicht per Deklaration.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    • Als Antwort markiert uwe domschke Dienstag, 5. März 2019 08:44
    Dienstag, 5. März 2019 08:30
    Moderator

Alle Antworten

  • Hallo Uwe,

    mit diesen Uraltkonstrukten wie MultiView, ... hast Du eigentlich gar keine Möglichkeit, das ordentlich und sauber zu lösen. Verabschiede dich von dieser WebForms Anwendung und setz den Fokus auf eine Neuentwicklung.

    Die einzige Möglichkeit, die mir da einfällt, wäre, im Codebehind Teil deiner Page relativ früh (Page_Init oder spät. Page_Load) zu prüfen, welche View aktiv ist und dann für alle anderen Views die Controls zu enfernen. Alternativ andersherum, also die Controls des aktuellen View dynamisch per Code hinzufügen und nicht per Deklaration.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    • Als Antwort markiert uwe domschke Dienstag, 5. März 2019 08:44
    Dienstag, 5. März 2019 08:30
    Moderator
  • Hallo Stefan,
    das ist wirklich eine alte Anwendung. Eine Neuentwicklung zahlt uns niemand. Deshalb wollen wir die wenigstens etwas optimieren und da fiel uns das noch auf.
    Ich dachte, es gibt da eine unkomplizierte Möglichkeit, an die wir nicht gedacht haben. Aber Du bestätigst dass dies nicht so einfach geht.

    Vielen Dank trotzdem!


    Mittelung vom Forum

    Dienstag, 5. März 2019 08:44