Comunidad de diseño web y desarrollo en internet online

recuperar datos desde asp.net

Citar            
MensajeEscrito el 04 Ago 2010 07:09 pm
hola comunidad . estoy realizando una llamada de variables a un archivo en asp.net (aspx), pero me retorna este error

ReferenceError: Error #1069: No se encontró la propiedad firstName en String y no hay ningún valor predeterminado.
les muestro el codigo en as3

Código ActionScript :

var urlRequ:URLRequest = new URLRequest("archivo.aspx");

   urlRequ.method = URLRequestMethod.POST;
   urlRequ.data = urlVars;
   var urlLoad:URLLoader = new URLLoader();
   urlLoad.load(urlRequ);
   urlLoad.addEventListener(Event.COMPLETE, onSendComplete);
   urlLoad.addEventListener(IOErrorEvent.IO_ERROR, onSendError);
function onSendComplete(evt:Event)
{
   trace("Mensaje Enviado");
   var username = String(evt.target.data.firstName);
trace(username.toString());
}
function onSendError(obj:Event)
{
   trace("Mensaje Fallido");

}


y en asp.net tengo

Código :

Response.Write("firstName=lala&");



si alguien me pudiese ayudar

Desde ya muchas gracias!

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ago 2010 08:38 pm
No puedes acceder a los datos directamente del String recibido, debes utilizar URLVariables:

Código ActionScript :

import flash.net.URLVariables;

function onSendComplete(evt:Event) {
    var myVars:URLVariables = new URLVariables(evt.target.data);
    trace(myVars.firstName);
}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 04 Ago 2010 09:01 pm
ahora me arroja este error...

Error: Error #2101: La cadena transmitida a URLVariables.decode() debe ser una cadena de consulta con formato URL codificado y pares nombre/valor.

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ago 2010 09:23 pm
Elimina el último signo de "&"

Código :

Response.Write("firstName=lala");


Si deseas que el objeto devuelto sea un objeto URLVariables en vez de un String (por defecto) acláraselo al objeto URLLoader:

Código ActionScript :

urlLoad.dataFormat = URLLoaderDataFormat.VARIABLES;


De esta forma puedes dejarlo como lo tenías:

Código ActionScript :

var username = String(evt.target.data.firstName);
trace(username.toString());

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 04 Ago 2010 09:38 pm
me sale undefined


muchas gracias por tu respuesta, pero quizas no estoy ejecutando el aspx como en el servidor localhost o no tiene nada que ver??

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ago 2010 10:09 pm
Debes ejecutarlo desde el servidor.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 05 Ago 2010 01:24 pm
Muchas Gracias por tu respuesta.

te cuento que esto lo estaba probando para pasar variables a flash, pero lo que realmente quiero es pasar las variables mediante asp.net recuperando datos de un server sql a flash y llenarlos en un dataGrid, que me suguieres para esto??

se pueden pasar objectos o arrays entre uno y otro?

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Ago 2010 04:08 pm
Hay clases que serializan objetos, pero lo mejor es que crees un XML dinámicamente desde asp ya que es más fácil leerlo en flash y es más práctico para manejar mucha cantidad de contenido.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 05 Ago 2010 04:10 pm
osea por cada consulta que haga desde flash a la bd. sobreescribo un xml y desde ahi muestro los datos a flash??

estoy trabjando con una cantidad de registro alrededor de 5.000 sera eficiente hacerlo??

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Ago 2010 08:44 pm
No. Debes leer un asp que en realidad devuelva un XML (no hay que guardarlo físicamente) y te recomiendo que hagas una sola consulta y después trabajes con ese XML. Ahora si tu base de datos es tan grande como dices, lo mejor es que hagas pequeñas consultas que te devuelvan sólo los datos que vas a manejar.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 05 Ago 2010 08:58 pm
uups y como develvo un xml?? solo por codigo??

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Ago 2010 09:37 pm
algo asi?

var dataXML:XML = new XML();
dataXML.onLoad = loadData;
var url = "download/data.xml";
dataXML.load(url);

pero en asp.net no sabria como mandar ese formato

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Ago 2010 09:50 pm
osea este codigo me sirve

solo me faltaria devolver de mi codigo de asp.net el xml?

Código ActionScript :

// Import the necessary packages
import fl.controls.DataGrid;
import fl.data.DataProvider;

// --------------------- DataGrid init ----------------------------

// Create a a new instance of DataGrid and name it "data_grid"
//var data_grid:DataGrid = new DataGrid();

data_grid.addColumn("NOMBRES");
data_grid.addColumn("APELLIDO_x0020_PATERNO");
data_grid.addColumn("APELLIDO_x0020_MATERNO");
data_grid.addColumn("UBICACION");


    data_grid.columns[0].width = 60;
    data_grid.columns[1].width = 60;
    data_grid.columns[2].width = 60;
    data_grid.columns[3].width = 150;



// ------ DataProvider and XML loading code

var dp:DataProvider;

// define a URL and make it a request instance
var url:String = "sepultados.xml";
var request:URLRequest = new URLRequest(url);

// define a loader and have it load the request
var url_loader:URLLoader = new URLLoader();
url_loader.addEventListener(Event.COMPLETE, completeHandler);
url_loader.load(request);

// define a function that will execute after data has finished loading
function completeHandler(event:Event):void {
    var ldr:URLLoader = event.currentTarget as URLLoader;
   // create XML datastructure from loaded XML
    var xmlDP:XML = new XML(ldr.data);
   // create a new data provider with this and register it with the DataGrid
    dp = new DataProvider(xmlDP);
    data_grid.dataProvider = dp;
}




alguien sabe como poder hacerlo para que mi asp.net lo devuelva

estoy en lo cierto? muchas gracias!

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ago 2010 08:35 am

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 06 Ago 2010 01:15 pm
Muchas gracias!!!

ahora para recuperar ese contenido de xml me sirve el codigo que te puse arriba??

te pasaste ;D!

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ago 2010 02:08 pm
me ha funcionado !!! a la perfeccion con el mismo codigo que puse ahi!! Muchisimas gracias.

ahora tengo un pequeño problema que cuando leia

la url

http://serversql/SepultaTouch/Touch/SepultaTouch.aspx

como que no me actualizaba el codigo, como que quedo en cache en flash

ahora cree el mismo archivo pero con un 2

http://serversql/SepultaTouch/Touch/SepultaTouch2.aspx

me funciono y cargo todo bien

porque puede haber pasado? queda como en el cache ? por codigo se puede evitar eso muchas gracias !!

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ago 2010 02:18 pm
Puedes hacer algo como esto.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 06 Ago 2010 02:42 pm
mira encontre esto


var url:String = "Archivo.aspx";
var header:URLRequestHeader = new URLRequestHeader("pragma", "no-cache");
var request:URLRequest = new URLRequest(url);
request.requestHeaders.push(header);
request.method = URLRequestMethod.GET;
request.data = new URLVariables("time="+Number(new Date().getTime()))

con eso solucionado...

esta bien asi tambien cierto?

MUCHAS GRACIAS POR TODO!! ;)!

Por SoliD

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ago 2010 05:35 pm
Perfecto, es la misma situación que posteé en el link lo que utilizando URLVariables.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 06 Ago 2010 06:13 pm
listo listo!, haber cuando termine hago un tip con la conexion de flash uml aspx y sql server, que no lo eh visto por ahi saludos!!

te pasaste muchas gracias ;)!

Por SoliD

50 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.