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.
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 - torek, 09. januar 2007
Objekt. Hm kašno logiko je imel?
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