Van egy alkalmazásom néhány előre definiált CSS-sel. Szerveroldalon OnPreRender-ben állítom be, hogy melyiket használja ezek közül a böngésző. Valahogy így:
<head runat="server">
<link id="Css" rel="stylesheet" type="text/css" runat="server" media="screen" />
...
protected void OnPreRender( object sender, EventArgs e )
{
this.Css.Href = MyContext.SelectedStyle;
}
A feladat: CSS beállításakor figyelembe tudjam venni a kliens felbontását. Javascriptben a screen.Width elvileg a monitor beállított szélességét adja vissza. Ez akár jó is lehet, ha át tudom passzolni szerveroldalra.
Én ezt egy rejtett mezővel oldottam meg:
<input type="hidden" name="RESOLUTION" id="RESOLUTION" />
<script language="javascript" type="text/javascript">
$get( 'RESOLUTION' ).value = screen.width
</script>
Szerveroldalon megpróbálom kiolvasni a rejtett mezőt:
if( Request[ "RESOLUTION" ] != null )
resolution = int.Parse( Request[ "RESOLUTION" ] );
így szerencsétlen resolution változóba be tudom tenni a kliens monitor-szélességét, ha van ilyen. Aztán ez alapján választok CSS-t.
Van valakinek egy jobb módszere? Szereveroldalról használható?