Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Mehrere "kleine" UpdatePanels - Nachteile?
tikra
myCSharp.de - Member

Avatar #avatar-3196.png


Dabei seit:
Beiträge: 185

Themenstarter:

Mehrere "kleine" UpdatePanels - Nachteile?

beantworten | zitieren | melden

Hallo,

ich habe folgendes Problem:

Ich habe in einem UpdatePanel 2 html-RadioBoxen, klicke ich auf die eine, so wird ein Teil des Formulars farbtechnische ausgegraut (clientseitig mittels JavaScript), klicke ich auf die andere passiert das inverse.
Ändere ich nun ein Steuerelement, welches einen Partial-PostBack innerhalb des UpdatePanels durchführt werden (verständlicherweise) diese clientseitigen Änderungen überschrieben.

Meine Überlegung: Ich könnte die UpdatePanels "kleiner" gestalten und nur um die serverseitigen Steuerelemente legen, d.h. nur deren Inhalte/Styles würden neu geschrieben.

Meine Frage: Gibt es irgendwelche Nachteile (Performance?), wenn ich so "viele kleine" UpdatePanels erzeuge?

Ich spreche in meinem Fall von 2 TextBoxen, und 4 DropDownLists, diese würde ich dann anstatt einem großen UpdatePanel in 3 kleine unterteilen.

Vielen Dank!


Gruß

timmi
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

Zitat
Meine Frage: Gibt es irgendwelche Nachteile (Performance?), wenn ich so "viele kleine" UpdatePanels erzeuge?
Gibt es. Das AjaxControlToolkit generiert sehr viele Scripts, die sehr gross sein können. Aus diesem Grund würde ich so ausgrauen etc. mittels JQuery realisieren. Ist performanter und bläht den Seitenquelltext nicht so auf.

Ich habe mal einen Vergleich mit einem TabPanel vom AjaxControlToolkit gemacht und dasselbe in grün mit JQuery. Der Seitensource steigt exponentiell zu jedem Control dass Du vom AjaxControlToolkit verwendest.
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
tikra
myCSharp.de - Member

Avatar #avatar-3196.png


Dabei seit:
Beiträge: 185

Themenstarter:

beantworten | zitieren | melden

Vom AjaxControlToolkit wollte ich jetzt erst einmal gar nicht sprechen, ich meinte die "normalen" UpdatePanels, keine TabPanels.
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

Auch die UpdatePanels generieren viel Overhead.
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
tikra
myCSharp.de - Member

Avatar #avatar-3196.png


Dabei seit:
Beiträge: 185

Themenstarter:

beantworten | zitieren | melden

Andere Meinungen? Kann man das tatsächlich so stehen lassen?

Ich denke du willst eher darauf hinaus, UpdatePanels eher nicht zu benutzen und lieber mit WebMethods zu arbeiten oder?

Dies ist allerdings in diesem Stadium nicht mehr möglich, evtl. in zukünftigen Projekten,
wenn ich UpdatePanels SOWIESO verwende, dann wirkt sich die "Stückelung" in kleinere glaube ich nicht negativ aus oder? Die Daten, welche gesendet werden reduzieren sich ja eigentlich dadurch.
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3430
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,
Zitat
Ändere ich nun ein Steuerelement, welches einen Partial-PostBack innerhalb des UpdatePanels durchführt werden (verständlicherweise) diese clientseitigen Änderungen überschrieben.
Das sollte doch kein Problem darstellen - du bekommst doch im PostBack mit welcher Radiobutton gesetzt ist, und könntest also serverseittig dementsprechend die gewünschten Elemente aktivieren/deaktivieren.
Zitat
Die Daten, welche gesendet werden reduzieren sich ja eigentlich dadurch.
Ich bin mir zwar nicht ganz sicher, aber das düfte so nicht stimmen. Der Browser führt vermutlich einen ganz normalen Post (mit allen zugehörigen Formulardaten) aus, und erst auf dem Server wird das dann partiell ausgewertet.
Der Overhead entsteht aber hauptsächlich in Richtung Server -> Client beim de rAntwort, und nicht im Request, da für den ScriptManager und die UpdatePanels jede Mange Script-Code generiert werden muss.

Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

Zitat
Der Overhead entsteht aber hauptsächlich in Richtung Server -> Client beim de rAntwort, und nicht im Request, da für den ScriptManager und die UpdatePanels jede Mange Script-Code generiert werden muss.
Und genau das ist ja das Problem (ich dachte ich hät's erwähnt )
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
tikra
myCSharp.de - Member

Avatar #avatar-3196.png


Dabei seit:
Beiträge: 185

Themenstarter:

beantworten | zitieren | melden

Zitat von MarsStein
Hallo,
Zitat
Ändere ich nun ein Steuerelement, welches einen Partial-PostBack innerhalb des UpdatePanels durchführt werden (verständlicherweise) diese clientseitigen Änderungen überschrieben.
Das sollte doch kein Problem darstellen - du bekommst doch im PostBack mit welcher Radiobutton gesetzt ist, und könntest also serverseittig dementsprechend die gewünschten Elemente aktivieren/deaktivieren.

Die RadioButtons sind keine ASP-Elemente, reines html (finde es unnötig für mein Vorhaben dafür einen PostBack durchzuführen, sowas sollte man clientseitig halten können), ich reagiere bei einem Klick auf diese mit Farbänderungen und diese Farbänderungen werden bei einem PostBack überschrieben.
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3430
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,

unabhängig davon ab Du nun HTML-Elemente oder ASP.NET-Controls verwendest, kommen die Daten beim POST mit. Schau mal in Request.Params["myRadioName"].
Je nachdem wie der Wert gesetzt ist, kannst Du für die gewünschten Elemente die ReadOnly- bzw. Enabled-Property setzen, oder wenn es sich ebenfalls um reine HTML-Elemente handelt, halt eben über die Attribute enablen/disablen.

Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers