Document size

Sedaj ne vem, pregledal sem help za HttpRequest, vendar nisem našel nič pametnega, vendar sem mogoče spregledal.

Je mogoče dobiti Document.width in Document.height znotraj ASP.NET preko nekega objekta. Predvidevam, da bi tako stvar moral imeti Request.

Vem da se to v ASP.NET 1.1 ni dalo, vendar ne morem verjeti, da kaj takega ne obstaja. Uporabljam PopupControl od Devexpressa in na PageLoad jo tudi že prikažem, vendar bi želel, da je prikazana na sredini ekrana. Edina ideja, ki sem jo imel, da na PageLoad preberem height in width in nastavim vrednosti PopupControl-i (left, top).

 

Druga ideja je da na login strani z JS preberem to (kodo imam: http://www.howtocreate.co.uk/tutorials/javascript/browserwindow), zapišem to v Cookie, na Button_login_click preberem ta cookie in ga shranim nekam (Profile recimo) in to potem na vseh straneh, kjer zadevo rabim uporabim.

Avtor: fora, objavljeno na portalu SloDug.si (Arhiv)

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.

pril
pril - torek, 09. januar 2007

Isto kot si ti naredil. Objekt se prilima na web stran, potem pa v ozadju da javascript na stran ki nafila podatke. ja, če ti kaj koristi je tukaj koda (uh vidim da sem tole dolgo nazaj pisal, je bolj okorna zadeva :-) sem jo iztrgal iz konteksta upam da ne bo crknila Contents je moj "cache" objekt pa ga zamenjaj s svojim. Primer je samo za client.width lastnost, ostale si dodaš sam po želji - pa gre stvar čez enumerator in doda za vsako lastnost svojo skripto (tole imam vkomponiran tako da poišče en drug objekt na vsaki strani objekt "form" in požene proceduro requestClientScriptData, tako da so ti podatki vedno na voljo.)(Uh tale editor nekaj nagaja, sem moral popravljat dodatno...)lp, plPublic Class clientScriptData Public dataPrefix As String = "clientScriptData"Public Enum dataTypeclientWidthEnd EnumPublic Sub requestClientScriptData(ByVal form As Control, Optional ByVal force As Boolean = False)Dim enumKey As StringIf IsNothing(contents(functions.sess.scriptData)) Or force Thenform.Controls.Add(New LiteralControl("<input type=""hidden"" name=""" & dataPrefix & """ value=""1"">"))For Each enumKey In dataType.GetNames(GetType(dataType))form.Controls.Add(New LiteralControl("<input type=""hidden"" name=""" & dataPrefix & enumKey & """>"))Nextform.Controls.Add(New LiteralControl(getClientScript()))End IfIf HttpContext.Current.Request(dataPrefix) = "1" ThenDim data As New Hashtable() For Each enumKey In dataType.GetNames(GetType(dataType))data.Add(enumKey, req(functions.requestType.form, dataPrefix & enumKey) & "")Nextcontents(functions.sess.scriptData) = dataEnd IfEnd SubPrivate Function getClientScript() As StringDim strB As New System.Text.StringBuilder()Dim scriptPrefix As String = "document.forms[0]."Dim tmpVar As StringstrB.Append("<script>") ' script for each dataType enum' clientWidthDim strB As New System.Text.StringBuilder()Dim scriptPrefix As String = "document.forms[0]."Dim tmpVar As StringstrB.Append("<script>") Return strB.ToStringEnd FunctionEnd Class

fora
fora - torek, 09. januar 2007

Objekt. Hm kašno logiko je imel?

pril
pril - torek, 09. januar 2007

Join the club...tudi sam sem si moral že v enki naredit objekt za te stvari, v asp 2.0 pa tega (še) nisem našel...Je imel kdo drug več sreče? lp, pl