Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ThaisN

Perco valores ASP ao retornar ao javascript

Recommended Posts

Olá a todos!

Sou nova em programaçao ASP( e neste forum também) e necessito da ajuda de vcs. =)

Bom, eu tenho um script ASP dentro de uma página javascript. Em um determinado momento eu dou um refresh na página(usando AJAX) para chamar uma procedure ASP com parametros do javascript. Dentro da procedure eu verifico se um recorset possui dados e guardo este valor em uma variavel. O que acontece é que quando eu saio da funçao ASP e volto pro javascript eu perco o valor dessa variável ASP( que volta a ter o seu valor original que é zero ) que eu necesito para informar ao usuario se foi processado algum dado ou náo. Estava tentado fazer um Response.write dentro do ASP para guardar esse valor em algum lugar, mas dentro da minha procedure nao funciona e o que eu queria era saber que valor tem essa minha variavél e informar ao usuário( já no javascript) se foram ou náo processados dados.

 

Muito obrigada!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta guardar em sessão, a depender do que esteja fazendo não funcionará pq o asp roda primeiro que o javascript

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta guardar em sessão, a depender do que esteja fazendo não funcionará pq o asp roda primeiro que o javascript

Gracias, Ted!

 

Eu to tendado fazer uma sessao.

Por ejemplo, coloco na minha funçao ASP:

 

sessao("valor") = 3

 

E no meu código javascript onde quero validar esse valor, tento fazer:

 

var cont

cont = <%=sessao("valor")%>;

 

ou

 

cont = <%=sessao("valor").Tostring()%>;

 

Nenhum dos 2 funciona!!

 

Estou desesperada!

 

Encontrei essa página: http://74.125.77.132/search?q=cache:vrAx0A...;cd=5&gl=br

 

Aqui que tem algo de sessao, mas nao sei se posso usar isso no ASP o se é só para ASP.NET...

 

Tentei usar a funçao RegisterClientScriptBlock, mas nao foi bem aceita... :(

 

Por favor, uma luz!!!

 

 

Saludos a todos desde Espanha!

 

Thais

Compartilhar este post


Link para o post
Compartilhar em outros sites

ao invés da palavra "sessao" tentou usar "session"??

 

session("valor")

Perdão, foi erro meu de digitação.

Não funciona o session no javascript, como já mencionei...

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta o code ai pra gente da uma olhada!

O meu código é bem grande. Vou tentar resumir e colocar o principal.

O objetivo da minha página é exportar dados de um mapa a arquivos CAD. O complicado já funciona bem!

Agora preciso validar se o meu recordset tem valores, retornar para o javascript e informar ao usuário.

 

Código ASP:

<%
Option Explicit
Response.Expires = -100000

dim q, cont
q= ucase(request.querystring("q"))
dim dir
dir = ucase(request.querystring("dir"))

'MAIS CODIGO...
'FUNÇÂO PRINCIPAL:
sub exporta()
							   if q = "" then
		 	X = 406257
		 end if

								MAIS CODIGO...
		
		'VERIFICAR SE TEM REGISTROS PARA EXPORTAÇÃO...
		Dim InputRecset
		Dim AcadObject  
		Dim cont
		cont = 0
		while not Recset.EOF		
			recSet.MoveNext
		wend
		cont = 	recSet.RecordCount
								
								'AQUI INCLUI´VARIAVEL DE SESSAO QUE RECEBE O VALOR DE CONT:
								Session("valor") = cont

		if cont > 0 then
			'AQUI REALIZO A EXPORTAÇÃO , SE TEM DADOS...
							   'MAIS CÓDIGO...
							  End if
							  
							  'ELIMINO OBJETOS...
							  'MAIS CODIGO
  
	End sub 				
%>

 

 

AGORA MEU CÓDIGO JAVASCRIPT ( CHAMADO DENTRO DE UM BOTÃO DE EXPORTAÇÃO!!!

 

function boton_Clicked()
  {
	 var direc = "c:\\temp\\teste";

	  direc= prompt("Escriba el directorio y el nombre del archivo a ser guardado", direc);
	  
	  if (direc == "")
	  { 
		  alert("El directorio y el nombre del archivo no pueden ser vacios");
		return;
	   }	
	 
				  //FUNÇÃO DE DÁ REFRESH NA PÁGINA PARA PASSAR DADOS PARA O ASP  
	  showHint(document.getElementById("legendentry").value,direc, document.getElementById("tipoexp").value, Math.round(top.frames.fraMap.document.globals.xmin.value),  Math.round(top.frames.fraMap.document.globals.ymax.value), Math.round(top.frames.fraMap.document.globals.xmax.value), Math.round(top.frames.fraMap.document.globals.ymin.value));
	 
				  <%call exporta()%>
		
	   var contador;

				  //TENTATIVAS DE RECUPERAR O VALOR DE CONT!!!
	  contador = <%=cont%>;  //AQUI NÃO TRAZ O VALOR CORRETO AO SAIR DA FUNÇÃO!!!
				  //USANDO A SESSAO: OS DOIS TESTES ME DAO ERRO NA PÁGINA!!!!
				 contador = <%=Session("valor")%>;  
				 contador = <%=Session("valor").ToString%>;  

	  alert(contador);

	  if (contador > 0)
	  { 
		  alert("La capa seleccionada fue exportada correctamente"); 
	  }
	  else{
		  alert("No hay datos para la exportación"); 
	  }
	 
	  
	  
	  window.close();
	  
  }
Bom, é isso! Espero ter explicado de uma meneira que possam entender!!!

Por favor, me ajudem!!!

Espero que eu possa usar o objeto session...Parece uma coisa simples, mas to perdendo um tempão...

 

Muito obrigada a TODOS!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código do arquivo que é chamado via AJAX está completo ??

O código para criar a sessão está na sessão "exporta", mas essa função sequer foi chamada...

Verifique também se a extensão do arquivo onde está o javascript é ".asp" (pode parecer uma pergunta besta, mas isso pode ocorrer...)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não coloquei o código AJAX porque funciona, nem todo o script porque é enorme.

A função de exportação é chamada depois da função ShowHint:

<%call exporta()%>

Sim, meu arquivo é .asp. O script está todo funcionando.

A única coisa que falha é a recuparção do valor da variavel CONT( que eu tentei passar pela sessao: Session("valor")) que está dentro do ASP!

O uso da session está correto?

Não entendo o problema...

 

Eu não coloquei o código AJAX porque funciona, nem todo o script porque é enorme.

A função de exportação é chamada depois da função ShowHint:

<%call exporta()%>

Sim, meu arquivo é .asp. O script está todo funcionando.

A única coisa que falha é a recuparção do valor da variavel CONT( que eu tentei passar pela sessao: Session("valor")) que está dentro do ASP!

O uso da session está correto?

Não entendo o problema...

 

Por favor!!! Alguma idéia!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque só esse na página:

contador = <%=Session("valor")%>;

agora no javascript você tem que dizer que essa variavel é um numero

 

acho que é assim:

 

var contador = new Number();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu criei o new number no javascript, mas continua me dando error quado faço o

contador = <%=session("valor")%>

 

Parece que o problema é utilizar a variavel session dentro do javascript.

 

Será que não há outra maneira de resolver o meu problema? Só existe o recurso de session para o que necessito?

 

Please, help!!!!

 

Obrigada, Ted!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não há problemas nisso, pq o asp vai rodar antes do javascript, faz um teste, coloque um valor fixo na sessio e chame ela assim em qualquer lugar da pagina:

session("valor") = 1

no javascript deixe como tar

contador = <%=session("valor")%>;

veja no que dar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi.. você precisa apenas pegar o valor da variavel em ASP que o AJAX manda processar.. correto ?

 

Se eu entendi bem... no seu lugar eu faria assim:

 

Ex. da pagina em asp

'VERIFICAR SE TEM REGISTROS PARA EXPORTAÇÃO...
		Dim InputRecset
		Dim AcadObject  
		Dim cont
		cont = 0
		while not Recset.EOF		
			recSet.MoveNext
		wend
		cont =	 recSet.RecordCount
								
								'AQUI INCLUI´VARIAVEL DE SESSAO QUE RECEBE O VALOR DE CONT:
								Session("valor") = cont

		if cont > 0 then
			'AQUI REALIZO A EXPORTAÇÃO , SE TEM DADOS...
							   'MAIS CÓDIGO...
							  End if
							  
							  'ELIMINO OBJETOS...
							  'MAIS CODIGO
  
	End sub				 

Response.Write(Session("valor")

 

E pegaria o valor dele dentro do AJAX assim

var resultado = xmlHttp.responseText;

Logo.. a minha variável JavaScript "resultado" teria o valor da Variavel "Session("valor")" que foi escrita pelo ASP...

 

 

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o meu código completo...Espero que de pra entender alguma coisa...

Tem muita coisa comentada porque tem vários testes meus...

Me ajudem! Brigada!!!

 

<%
Option Explicit
Response.Expires = -100000


dim q, cont, valida
q= ucase(request.querystring("q"))
dim dir
dir = ucase(request.querystring("dir"))
dim tipo
tipo = ucase(request.querystring("tipo"))
Dim X
X = cdbl(request.querystring("X"))
Dim Y
Y = cdbl(request.querystring("Y"))
Dim X2, Y2
X2 = cdbl(request.querystring("X2"))
Y2 = cdbl(request.querystring("Y2"))

Dim gtxtTitle, gtxtQueryName, gtxtLegendEntryPrompt, gtxtFilter, gtxtOutputPrompt, gtxtQueryNamePrompt
Dim gtxtDescriptionPrompt, gtxtSelectFeaturesPrompt, gtxtTipo
'=====================================
'	Begin Resource text - BEGIN TRANSLATE
'=====================================
gtxtTitle = "Exportación"
gtxtQueryNamePrompt = "Query name"
gtxtQueryName = "Attribute Query of"
gtxtLegendEntryPrompt = "Capa"
gtxtFilter = "Exportar"
gtxtTipo = "Formato"
gtxtOutputPrompt = "Output attribute query as"
gtxtDescriptionPrompt = "Description"
gtxtSelectFeaturesPrompt = "Exportación"
'=====================================
'	End Resource text - END TRANSLATE
'=====================================

'Get Parameters from QueryString
Dim lMap, sURL, sHTMLURL
'PMW 6/11/04 - for secondary maps
Dim sSecondaryMaps, arrTemp
sSecondaryMaps = Request.Form("secondarymaps")

lMap = CLng(Request.Form("map"))
sURL = Request.Form("url")
'PMW 4/16/04 - check sURL for script attacks
if ((instr(sURL,"<script") + instr(sURL,"</script")) > 0) then
  Err.Raise 1, "attributequery.asp", "URL may contain script attack: " & sURL
end if
sHTMLURL = Server.HTMLEncode(sURL)



%>

<HTML>
<HEAD>
<LINK REL=STYLESHEET TYPE="text/css" href="<%=(sHTMLURL + Application("CSSFILE"))%>">
<TITLE><%=gtxtTitle%></TITLE>
<script language="javascript" type="text/javascript">
  var fraMap = top.opener.top.frames.fraMap;
  
  var valor = null;
  var xmlHttp = null;
  var filterwindow = null;
  
  function enableControls()
  {
	var disabled = document.getElementById("filter").value == "" ? true : false;
	document.getElementById("btnOK").disabled = disabled;
	document.getElementById("queryname").disabled = disabled;
	document.getElementById("description").disabled = disabled;
  }
  
  function Filter_Changed(newfilter)
  {
	document.getElementById("filter").value = newfilter;
	enableControls();
  }
  
 /* function LegendEntry_Changed()
  {
	var s = document.getElementById("legendentry");
	document.getElementById("queryname").value = "< %=gtxtQueryName%> " + s.options[s.selectedIndex].text;
	document.getElementById("filter").value = "";
	enableControls();
  }*/
  
  function init()
  {
	
	if (valor != null) {

		//< % call exporta() %>
	  //alert("La capa seleccionada fue exportada correctamente");
			
	  window.close();
	  return;
	}
	//LegendEntry_Changed();
	//enableControls();
	
  }
  

  
  <%
				
 'EXPORTACION!!!
	'Dim dir, capa, tipo
	sub exporta()
		
		'dir = "c:\temp\teste"
		'capa = Request.Form("legendentry")
		'tipo = Request.Form("tipoexp")
		 if q = "" then
		 	X = 395198
		 end if
		 
		 'valor1 = VarType(Y)
		 
		 if q = "" then
		 	Y = 4604520
		 end if
		 
		 if q = "" then
		 	X2 = 399909
		 end if
		 if q = "" then
		 	Y2 = 4602071
		 end if
		
		if q = "" then
			q = "VARECINTO"
			'q = "VATROCOADUTOR"
			'q = "COMARCA"
		end if
		if dir = "" then
			dir = "c:\TEMP\teste"
		end if
		'capa = "VATROCOADUTOR"
		if tipo = "" then
			tipo = 0
		end if
		
		dim objSesMgr, objMS
		Set objSesMgr = Server.CreateObject("GMWebMap.MapServerManager")
		Set objMS = objSesMgr.MapServer("") ' Application("connectfile"))
		
		objMS.Clear
		objMS.SetCoordinateSystem "C:\thais\SmartStore\GISATLL.csf"
		'objMS.CoordSysMgr.CoordSystem.BaseStorageType = 0

		
		'dir = "El archivo exportado teste.dxf se encuentra en C:\TEMP"
		
		
		Dim ConnectionObj 
		set ConnectionObj=objMS.createobject("Geomedia.Connection")
		'ConnectionObj.Location = "C:\thais\Smart\access.mdb"
		ConnectionObj.Location = "C:\thais\Smart\GISATLL.ddc"
		'ConnectionObj.Location = "C:\thais\Curso_Web_Map_Server\CursGWM6\Warehouses\USDEMO.mdb"
		ConnectionObj.Mode = 0
		'ConnectionObj.Type = "Access.GDatabase" 
		ConnectionObj.Type = "GeoMediaSmartStore.GDatabase"
		ConnectionObj.Connect
		
		Dim teste, teste1
		teste = ConnectionObj.Status
		'set ConnectionObj.coordSystemsMgr=csm
		'ConnectionObj.connect
		
		dim oP, oPipe
		set oP= objMS.createobject("GWEUtility.CustomDataUtility")
		set oP.connection=  ConnectionObj
		set oPipe= oP.getOriginatingPipe
		
		oPipe.table= q
		
		Dim objGeom, objPnt, objCH, varBlob, objSFP
		
		 
		 Set objGeom = objMS.CreateObject("GeoMedia.RectangleGeometry")  
		 
		 
		
		 With objGeom
			'.Origin.X = -1095987.26	 406257.92
			'.Origin.Y = 1402365.31	   4596260.42
			.Origin.X =  X '406257.92  'Application("xmin") '406257.92   '395215
			.Origin.Y =  Y '4596260.42 'Application("ymax")   '4596260.42	'4604503
			
			
			.Origin.Z = 0
			'.Width = ancho
			'.Height = altura
			.Width = Abs(X2 - X)
			.Height = Abs(Y - Y2)
		  End With
		  

		 
				  
		  Dim a
		  'a = objGeom.Origin
		
		' Convert geometry to a BLOB.
		  Set objCH = objMS.CreateObject("GWEUtility.GeometryUtility")
		  Set objCH.InputGeometry = objGeom
		  varBlob = objCH.OutputBLOB
		
		' Create and configure Spatial Filter Pipe
		  Set objSFP = objMS.CreateObject("GeoMedia.SpatialFilterPipe")
		  Set objSFP.InputRecordset = oPipe.OutputRecordset
		  objSFP.InputGeometryFieldName = "GEOMETRY"
		  objSFP.SpatialFilter = varBlob
		  objSFP.SpatialOperator = 3	'3 es lo que queremos
			
		  Dim recSet
		  Set recSet = 	objSFP.OutputRecordset
		
		'VERIFICAR SI HAY DATOS EN EL RECSET, SI NO HAY ES PORQUE NO HAY NADA A SER EXPORTADO:
		Dim InputRecset
		Dim AcadObject  
		
		'Dim cont, valida
		'Dim valida
		cont = 0
		valida = 0
		while not Recset.EOF		
			recSet.MoveNext
		wend
		cont = 	recSet.RecordCount
		'Response.Write  "<option value=""" + CStr(cont) + """>" + CStr(cont) + "</option>"
		'Response.Write "'Teste Thais   '" + CStr(cont)
		if cont > 0 then
		   
		   'Response.write ("<input type=\"hidden\" name=\"id\" value=\" + Cstr(cont) + "\>")
		   
		   'Response.Write("<input type=\"hidden\" name=\"item_number\" value=\".COM,
'MLSNumber\">")

			'Response.Write "<input type=\"hidden\" name=\"id\" value=\"3\">"
			
			'Response.Write("<input type='hidden' name='id' value='3'>")
			


			'Dim sess
			Session("valor")= 3
			'sess = Session("valor")
		
			hdfMyColor.value = 3

			valida = 3
						
			Set AcadObject = objMS.createObject("GeoMedia.ExportToAutoCADService") 
					  
			
			
			'objConn.CreateOriginatingPipe oPipe 
			'oPipe.Table = "TLEGENDS"
			'Set InputRecset = objSFP.OutputRecordset
			'Set InputRecset = oPipe.OutputRecordset
			Set InputRecset = recSet
			'Set InputRecset = objSFP 
			
			
			
			With AcadObject 
						Set .InputRecordset = InputRecset
						
						.InputRecordset.MoveFirst
					while not .InputRecordset.EOF
					'Response.Write "<option value=""" + CStr(teste) + """>" + CStr(teste) + "</option>"
					'Response.Write "<option value=""" + Server.HTMLEncode(.InputRecordset("IPID")) + """>" + Server.HTMLEncode(.InputRecordset("GEOMETRY")) + 

"</option>"
					'Response.Write "<option value=""" + CStr(.InputRecordset("IPID")) + """>" + Server.HTMLEncode(.InputRecordset("GEOMETRY")) + "</option>"
						'a = CStr(.InputRecordset("GEOMETRY"))
						 
						.InputRecordset.MoveNext
					wend
					 'valida = .InputRecordset.RecordCount
					 
					'Response.Write CStr(cont) 
					 'Response.Write "<option value=""" + CStr(valida) + """>" + CStr(valida) + "</option>"
					 					
					
					'.OutputFileName = "C:\TEMP\teste"
					.OutputFileName = dir
					.InputGeometryFieldName = "GEOMETRY" 
					'.InputGeometryFieldName = "GEOMETRY"
				   '.InputGeometryFieldName = "PrimaryGeometryFieldName"
				   '.InputGeometryFieldName = "GeometryType"
				   'gmExACADOutputDWG: 0 for DWG
				   'gmExACADOutputASCIIDXF : 1 for ASCII DXF
					'gmExACADOutputBinaryDXF: 2 for BINARY DXF
					'The default value is gmExACADOutputDWG
					.OutputFileType = tipo
					'.LayerName = "VATROCOADUTOR"
					.LayerName = q 
					'.Append = False
					'.OutputGeometryDimension = 2 
					'.LayerIsOn = true
					'.Append = True 
					'.Execute
					
				   End With 
				   
				 AcadObject.Execute
		
				'expor = TRUE
		End if
		   
		 Set InputRecset = Nothing 
		 Set oPipe = Nothing 
		 Set oP = Nothing
		 Set objCH = Nothing
		 Set objGeom = Nothing
		 Set objSFP = Nothing
		 Set recSet = Nothing
		 Set InputRecset = Nothing
		 Set objSesMgr = Nothing
		 Set objMS = Nothing 
		 Set AcadObject = Nothing 
		 Set ConnectionObJ = Nothing
	End sub 
	
					
%>				

function save(){
	
//ARCHIVO A SER GUARDADO	
//str = top.frames.fraMap.document.value;
//var maydoc = top.frames.fraMap.document;
var mydoc;
mydoc = document.open();
//mydoc.write(str);
var teste = mydoc.execCommand("saveAs",true,".txt");

alert(teste);
mydoc.close();
return false;
}





function showHint(str,str2,str3, str4, str5, str6, str7)
{
if (str.length==0)
  { 
  document.getElementById("legendentry").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
  //alert(appGmwebappURL);
//var url= appGmwebappURL + "commands/Exportacion/exp.asp";
//var url= "http://aud367/wpthais/commands/Exportacion/exp.asp";
var url = document.getElementById("url").value + "commands/Exportacion/exp.asp";
//var url = "exp.asp";
url=url+"?q="+str;
url=url+"&dir="+str2;
url=url+"&tipo="+str3;
url=url+"&X="+str4;
url=url+"&Y="+str5;
url=url+"&X2="+str6;
url=url+"&Y2="+str7;
url=url+"&sid="+Math.random();
//alert(url);
xmlHttp.onreadystatechange=stateChanged;
valor = 1;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 

function stateChanged() 
{ 
if (xmlHttp.readyState==4)
{ 
//document.getElementById("legendentry").innerHTML=xmlHttp.responseText;
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
	{
	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
  catch (e)
	{
	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
  }
  //alert(xmlHttp);
return xmlHttp;
}

var Xmin, Ymax;

 function getbbox_callback(sIOBuf)
{

		var iTmp = sIOBuf.indexOf( ":" );
		if (iTmp==-1) {
			//alert(sIOBuf);
		}else{
			// Get X,Y Values
			var jTmp = sIOBuf.indexOf( ";" );
			var newxMin = sIOBuf.substring( 0, iTmp); //Get X
			var newyMax = sIOBuf.substring( iTmp+1, jTmp ); //Get Y newymin
			var sIOBuf = sIOBuf.substring( jTmp+1, sIOBuf.length ); //Get Y
			iTmp = sIOBuf.indexOf( ":" );
			var newxMax = sIOBuf.substring( 0, iTmp); //Get X
			var newyMin = sIOBuf.substring( iTmp+1, sIOBuf.length - 1 ); //Get Y newymax
			
			Xmin = newxMin;
			Ymax = newyMax;
			
			//alert(newxMin); 
			//alert(newyMin);
			//alert(newxMax);
			//alert(newyMax);//+ ',' + newMiny + ',' + newxMax + ',' + newyMax	);
		}
		
}


/****************************************************************
Function:	TransXCoordPixelToStorage(theXvalue)

Params:		theXvalue = The x value to translate

Abstract:	Translates the x value to a storage value.
****************************************************************/
function TransXCoordPixelToStorage(theXvalue){
	var xmin, xmax, xPixelRatio, xDelta, ancho, xWorldDistance;
	xmin = top.frames.fraMap.document.globals.xmin.value;
	xmax = top.frames.fraMap.document.globals.xmax.value;
 	xDelta = xmax - xmin;
	ancho = <%=Application("mappixelwidth")%>;
	
	xPixelRatio = (xDelta/ancho);
	//alert(xPixelRatio);
	xWorldDistance = (theXvalue * xPixelRatio);
	theXvalue = xmin - 0 + xWorldDistance;
	return theXvalue;
}

/****************************************************************
Function:	TransYCoordPixelToStorage(theYvalue)

Params:		theYvalue = The y value to translate

Abstract:	Translates the y value to a storage value.
****************************************************************/
function TransYCoordPixelToStorage(theYvalue){
	var ymin, ymax, yDelta, yPixelRatio, alto, yDelta, yWorldDistance;
	ymin = top.frames.fraMap.document.globals.ymin.value;
	ymax = top.frames.fraMap.document.globals.ymax.value;
 	yDelta = ymax - ymin;
	alto = <%=Application("mappixelheight")%>;
	yPixelRatio = (yDelta/alto);
	//alert(yPixelRatio);
	yWorldDistance = (theYvalue * yPixelRatio);
	theYvalue = ymax - 0 - yWorldDistance;
	return theYvalue;
}



  function Filter_Clicked()
  {
   // if (!top.opener.top.frames.fraTools)
   // {
	  //alert("< %=Application("gtxtParentChanged")% >");
	  
	  //save();
	  
	 top.frames.fraMap.getViewRange(getbbox_callback);
	  
	 
	
	 var direc = "c:\\temp\\teste";
	 
	  
	  direc= prompt("Escriba el directorio y el nombre del archivo a ser guardado", direc);
	  
	  if (direc == "")
	  { 
		  alert("El directorio y el nombre del archivo no pueden ser vacios");
		return;
	   }	
	 
	  //alert(document.getElementById("url").value);
	  
	 // alert(Math.round(top.frames.fraMap.document.globals.xmin.value));
	 // alert(Math.round(top.frames.fraMap.document.globals.ymax.value));
	 
	  var contador;
	 // contador = true;
	 
	  showHint(document.getElementById("legendentry").value,direc, document.getElementById("tipoexp").value, Math.round(top.frames.fraMap.document.globals.xmin.value),  Math.round

(top.frames.fraMap.document.globals.ymax.value), Math.round(top.frames.fraMap.document.globals.xmax.value), Math.round(top.frames.fraMap.document.globals.ymin.value));
	  
		<% call exporta() %>
		
		
		//alert(document.getElementById("id").value);
	  //alert(< %=cont%>);
	  /*< %  
	  'get the q parameter from URL
	  
		dim q=ucase(request.querystring("q"))'lookup all hints from array if length of q>0
		
	   % >*/
	
	 // TENTATIVAS DE USAR A SESSION!!!!
	 //contador = < %=Session("valor")%>;
	 
	  contador = <%=valida%>
	  //contador = document.getElementById("hdfMyColor")
	 
	 alert(contador);
	  
	  if (contador == 3)
	  { 
		  alert("La capa seleccionada fue exportada correctamente"); 
	  }
	  else{
		  alert("No hay datos para la exportación"); 
	  } 
	 
	  //alert("La capa seleccionada fue exportada correctamente"); 
	  
	  window.close();
	  
	  //var tipoE = document.getElementById("tipoexp").value;
	  
	  //var capaE = document.getElementById("legendentry").value;
	  
	  //alert(tipoE);
	 // showHint(document.getElementById("legendentry").value);
	  
	   
	   
  }
  

</script>
</HEAD>
<body onLoad="java script:init();" style="padding-top:1px;background-color:#D6D3ce;">
  <form name="attributequery" action="<%=sHTMLURL%>commands/common/datawindow.asp" method="post">
	<input type="hidden" name="source" value="attributequery">
	<input type="hidden" name="distunit">
	<input type="hidden" name="decipoint">
	<input type="hidden" name="distcf">
	<input type="hidden" name="distprec">
	<input type="hidden" value="<%=Server.HTMLEncode(CStr(lMap))%>" name="map">
	<input type="hidden" name="url" value="<%=sHTMLURL%>">
	<input type="hidden" id="hdfMyColor" runat="server" />
  <table cellpadding="1" cellspacing="0">
	<tr>
	  <td>
		<div style="width:225px;height:188px;border:1px solid darkgray;">
		  <span style="position:relative;background-color:#D6D3ce;top:-9px;left:6px;padding:2px;"><%=gtxtSelectFeaturesPrompt%></span>
		  <table cellpadding="0" cellspacing="0">
			<tr><td align="left" colspan="2" style="padding-left:3px;"><%=gtxtLegendEntryPrompt%>:</td></tr>
			<tr>
			  <td style="padding-left:3px;height:25px;">
				<select name="legendentry" id="legendentry" onChange="java script:LegendEntry_Changed();" style="font-size:8pt;width:150px;">
				<%
				  Dim RS, sSQL, i, sTemp
				  'Get all legend entries for the current profile/topic plus secondary maps, except thematics
				  sSQL = "Select ID, FeatureName from TLEGENDS Where Map in ($1) And LegendEntryType in (1,4) And FeatureName <> 'Catastro' Order By Map, FeatureName"
				  sTemp = CStr(lMap)
				  if sSecondaryMaps > "" then
					arrTemp = split(sSecondaryMaps, "~")
					for i = 0 to UBound(arrTemp)
					  sTemp = sTemp & "," & arrTemp(i)
					next 'i
				  end if
				  sSQL = Replace(sSQL, "$1", sTemp)
				  Dim objConn
				  set objConn = Server.CreateObject("ADODB.Connection")
				  objConn.Mode = 16 'adModeShareDenyNone
				  objConn.Open Application("connstring")
					Set RS = objConn.Execute(sSQL)
				  while not rs.EOF
					'Response.Write "<option value=""" + CStr(RS("ID")) + """>" + Server.HTMLEncode(RS("FeatureName")) + "</option>"
					Response.Write "<option value=""" + Server.HTMLEncode(RS("FeatureName")) + """>" + Server.HTMLEncode(RS("FeatureName")) + "</option>"
					RS.MoveNext
				  wend
				  'Response.Write "<option value=""" + Cstr(cont) + """>" + Cstr(cont) + "</option>"
				  RS.Close
				  set RS = Nothing
				  objConn.Close
				  set objConn = nothing
				%>
			   </select>
			  </td>
			  
			  <tr><td align="left" colspan="2" style="padding-left:3px;"><%=gtxtTipo%>:</td></tr>
			  <td style="padding-left:3px;height:25px;">
				<select name="tipoexp" id="tipoexp" onChange="" style="font-size:8pt;width:150px;">
					<option value=0>DWG</option>
					<option value=1>DXF</option>
				</select>
			  </td>
			  <td align="right"><input type="button" value="<%=gtxtFilter%>..." style="font-size:8pt;width:50px;" onClick="java script:Filter_Clicked();"></td>
			</tr>
			</table>
		</div>
		
	  </td>
	</tr>
	<tr>
	  <td colspan="2" align="right">
		<input type="button" style="font-size:8pt;width:75px;height:24px;" value="<%=Application("gtxtCancel")%>" onClick="java script:window.close();">
	  </td>
	</tr>
  </form>
</body>
</HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada Dardemo!!!

você entendeu o meu problema! E eu entendi a soluçao...

Fiz como você disse e eu colocar o Response.write me dà erro!!! :(

Alèm disso, quando pego o valor do

var resultado = xmlHttp.responseText; e faço um alert me dá o código da página inteiro...

 

Nao entendo porque nao me funciona!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma pergunta: por que não funciona um Response.write dentro do meu procedimento?

Fiz um teste com outra coisa( não o response.write session ) e não funcionou dentro da função, só fora....

Além disso, existe alguma limitação para o uso de session? No meu código não funciona...:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!!!

 

Consegui resolver meu problema sem usar o session. Com um response.write dentro do bloco que exporta.

Depois verifico no AJAX( como orientado) se foi escrito ou não. Se foi é porque foram exportados dados...

 

Porém, continuo sem saber porque não funciona a session... Se vcs sabem de algum bom exemplo, por favor, me eviem!

 

Obrigada a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.