Wie kann ich einer aspx-Seite die Browserfenstergröße vor dem serverseiten PageLoad bzw. PreRender mitteilen, damit ich meine Servercontrols gleich in der passenden Größe rendern kann?
Was ich bisher ausprobiert habe:
1) Über Cookies. Im Header der aufgerufenen aspx-Seite habe ich ein Javascript, das die Fenstergröße ausliest und die Werte dann als Cookie setzt die ich dann in PageLoad serverseitig auslese. Allerdings funktioniert das nicht und wenns geht möchte ich Cookies vermeiden.
2) Im Header der aufgerufenen aspx-Seite habe ich ein Javascript, das die Fenstergröße ausliest und dann
ausführt. Serverseitig lese ich die beiden Varialen aus dem Querystring aus. Das funktioniert zwar, doch es sind 2 Aufrufe der Webseite nötig und die Url wird verändert - Also nicht optimal!
3) Eine Dummyseite mit einem Formular das die beiden Werte per POST an die eigentliche aspx-Seite überträgt. Das funktioniert zwar auch, ist aber ziemlich langsam - Also nicht wirklich akzeptabel!
4) Drittanbieter-Controls wie dockable Panels darf ich nicht verwenden.
5) Eine Idee: Die Servercontrols werden ja großteils zu div's umgewandelt und gerendert deren width und height per css-style eingestellt wird. Jetzt wäre es toll, wenn statt
etwas wie
rendern könnte, wobei die beiden Variablen "fensterbreite" und "fensterhoehe" wieder im script-Tag des Header erzeugt werden. Natürlich funktioniert das so nicht, aber gäbe es eine Möglichkeit bei Inline-CSS Javascriptvariablen einzuschleusen?
Was ich bisher ausprobiert habe:
1) Über Cookies. Im Header der aufgerufenen aspx-Seite habe ich ein Javascript, das die Fenstergröße ausliest und die Werte dann als Cookie setzt die ich dann in PageLoad serverseitig auslese. Allerdings funktioniert das nicht und wenns geht möchte ich Cookies vermeiden.
2) Im Header der aufgerufenen aspx-Seite habe ich ein Javascript, das die Fenstergröße ausliest und dann
Code:
window.location += "?width=" + width + "&height=" + height;]
ausführt. Serverseitig lese ich die beiden Varialen aus dem Querystring aus. Das funktioniert zwar, doch es sind 2 Aufrufe der Webseite nötig und die Url wird verändert - Also nicht optimal!
3) Eine Dummyseite mit einem Formular das die beiden Werte per POST an die eigentliche aspx-Seite überträgt. Das funktioniert zwar auch, ist aber ziemlich langsam - Also nicht wirklich akzeptabel!
4) Drittanbieter-Controls wie dockable Panels darf ich nicht verwenden.
5) Eine Idee: Die Servercontrols werden ja großteils zu div's umgewandelt und gerendert deren width und height per css-style eingestellt wird. Jetzt wäre es toll, wenn statt
Code:
style="width:1200px;height:780px"
etwas wie
Code:
style="width:'javascript:fensterbreite';height:'javascript:fensterhoehe'"
rendern könnte, wobei die beiden Variablen "fensterbreite" und "fensterhoehe" wieder im script-Tag des Header erzeugt werden. Natürlich funktioniert das so nicht, aber gäbe es eine Möglichkeit bei Inline-CSS Javascriptvariablen einzuschleusen?