Clinic SEO: migraciones y cambios de marca

On 15 marzo, 2014, in Sin categoría, by Alfonso Moure Ortega

Con algo de retraso, aquí os dejo la presentación de mi charla sobre migraciones y cambios de marca en el Clinic SEO del eShow Barcelona de marzo 2014 icon wink Clinic SEO: migraciones y cambios de marca .
 Clinic SEO: migraciones y cambios de marca

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter Clinic SEO: migraciones y cambios de marcalinkedin Clinic SEO: migraciones y cambios de marcagoogleplus Clinic SEO: migraciones y cambios de marca

 

¿Tienes una idea y necesitas planear cómo ponerla en práctica? ¿Quieres conocer todo lo que debes tener en mente antes de comenzar tu proyecto online?

El día 19 de Junio de 2012 en el Iniciador Barcelona impartiré un taller de hora y media, donde repasaré todo lo que debemos tener en mente, preparar y planificar antes de lanzar un nuevo proyecto online. Recuerda que si no puedes asistir, el evento será retransmitido en directo online: se anunciará la URL de streaming vía Twitter poco antes del evento en @iniciador_bcn y @ghostmou.

El proceso de la presentación será el siguiente:

  1. Presentación: canales de captación de tráfico.
  2. Rentabilidad en los diferentes canales de captación de tráfico.
  3. Planeando nuestro proyecto online.
    1. Localizando nuestros objetivos y fijándolos en nuestro site.
    2. Estrategia y táctica: las claves para triunfar.
    3. Desglose de métodos de planificación, medición e implementación.
    4. Medición de resultados.
  4. Puntos clave de desarrollo web.
    1. SEO.
    2. PPC.
    3. Social Media.
    4. Analítica web.
    5. Retazos de afiliación.
  5. Mejora continua:
    1. Fijado de KPIs clave.
    2. Analítica web básica: cómo medir lo que conseguimos frente a lo que deberíamos conseguir.

Si quieres asistir al taller, solo tienes que registrarte en el site de Iniciador Barcelona.

Cuándo

19 de Junio de 2012 de 19:00 a 20:30.

Dónde

Edificio CINC

Calle Llull, 321-329

08019 Barcelona

 Lanza tu proyecto online con éxito: Iniciador Barcelona 19 de Junio 2012

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter Lanza tu proyecto online con éxito: Iniciador Barcelona 19 de Junio 2012linkedin Lanza tu proyecto online con éxito: Iniciador Barcelona 19 de Junio 2012googleplus Lanza tu proyecto online con éxito: Iniciador Barcelona 19 de Junio 2012

 

Parecía que la fecha no llegaba, pero ya estamos casi listos… El día 20 de Junio nos veremos en la sala CAMON de Madrid en la primera edición del SEO+You: SEO+Developers. El evento es gratuito, y pretende ser un lugar de encuentro para SEOs y desarrolladores web que quieran compartir y debatir sus experiencias.

El evento está siendo organizado por cuatro profesionales del online:

En esta primera edición de SEO+You contaremos con la colaboración de cuatro super invitados que nos contarán su experiencia en los terrenos del desarrollo web orientado a satisfacer las necesidades del SEO:

Gracias a la participación tanto de organizadores como invitados, intentaremos crear un ambiente de debate donde compartir técnicas SEO y su correspondiente aplicación en desarrollo web, algo que muchas veces suele suponer un drama si no existe una comunicación clara y concisa de las necesidades de captación de tráfico.

¿Eres un emprendedor? ¿Un programador? ¿Un SEO? ¡Entonces este es tu lugar!

 SEO+Developers: Primera edición SEO + You en Madrid el día 20 de Junio

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter SEO+Developers: Primera edición SEO + You en Madrid el día 20 de Juniolinkedin SEO+Developers: Primera edición SEO + You en Madrid el día 20 de Juniogoogleplus SEO+Developers: Primera edición SEO + You en Madrid el día 20 de Junio

 

Video Clinic SEO: Proceso de un proyecto SEO

On 28 mayo, 2012, in Estrategia online, eventos, SEO, by Alfonso Moure Ortega

Aquí os dejo el video de mi ponencia en el Clinic SEO, donde hablé sobre el proceso de un proyecto SEO. Espero que, además de apreciar TODAS las veces que repito ¿vale?  (intento controlarlo jeje) sea de vuestro agrado.

Auditorio 1 – eShow BCN 2012 – El Proceso SEO from eWorld on Vimeo.

Se aceptan comentarios icon smile Video Clinic SEO: Proceso de un proyecto SEO .

 Video Clinic SEO: Proceso de un proyecto SEO

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter Video Clinic SEO: Proceso de un proyecto SEOlinkedin Video Clinic SEO: Proceso de un proyecto SEOgoogleplus Video Clinic SEO: Proceso de un proyecto SEO

 

Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelona

On 18 marzo, 2012, in eventos, by Alfonso Moure Ortega

El día 15 de Marzo d 2012 tuve el placer de participar el Clinic SEO Barcelona, donde realicé una ponencia de (más o menos) 45 minutos, donde hablé de cómo se lleva a cabo un proceso SEO al completo, desde el inicio al final.

clinic seo barcelona eshow 300x224 Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelona

Para ello, planteé el desarrollo de un proyecto SEO como un ciclo cerrado de seis pasos:

proceso seo completo 277x300 Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelona

  • Investigación: recopilamos información sobre nuestro entorno.
    • Keyword research, para buscar los términos que deberemos usar durante nuestro trabajo de optimización tanto OnPage como OffPage. Debe quedar bien claro que la selección no va orientada a obtener tráfico, o leads, o conversiones… Su destino debe ser alcanzar los objetivos de nuestro negocio, por lo que deberemos adaptar esta fase a cada caso particular.
    • Identificación de competidores: tanto si son competidores en search (SEO, PPC/SEM, etc), como aquellos que residen en el mundo real u offline.
  • Estructura: cómo se organiza el site.
    • Arquitectura: la parte que los usuarios podrán ver y captar del site.
    • Contenidos: tipo de contenidos de los que dispondremos para el proyecto.
  • OnPage: todo lo que afecta al site.
    • Desarrollo / programación: factores que afectan a nivel técnico. Ojito con cuidar bien a nuestros técnicos icon smile Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelona .
    • Diseño: el diseño y maquetación de nuestro site afectarán a cómo los buscadores captan nuestros contenidos.
  • OffPage: el entono que influye en la visión de nuestro site por parte de buscadores y usuarios.
    • Linkbuilding: proceso de obtención y optimización de enlaces externos que apuntan a nuestro site.
    • Social Media: menciones, backlinks sociales, etc.
  • Mejoras: proceso de estudio de cambios en buscadores. Experimentación.
    • Experimentar: es la clave para mejorar y lograr diferenciarnos de nuestros competidores.
    • Cambios en buscadores: Google, Bing, y el resto de buscadores principales, cambian de forma constante. Debemos adaptarnos a estos cambios para sobrevivir.
  • Análisis: debemos monitorizar el efecto de nuestras acciones sobre el site.
    • OffPage: ¿Qué sucede fuera de nuestro site tras nuestros cambios? ¿Hay reacción por parte de competidores? ¿Impactamos positivamente los rankings?
    • OnPage: uso de herramientas de analítica web como Google Analytics para ver el impacto en tráfico. Esto nos puede mostrar cómo mejoran nuestros ingresos y transacciones.
  • ¡Vuelta a empezar!

Para que podáis echarle un vistazo, os comparto aquí la presentación:

Si lo deseáis, podéis ver el resto de mis presentaciones en mi perfil de SlideShare: alfonsomoure.

Podéis ver el resto de ponencias del evento en el site de Clinic SEO. Fue una jornada estupenda, y creo que todos lo pasamos en grande y aprendimos un buen puñado de cosa icon smile Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelona .

alfonso moure clinic seo barcelona 300x225 Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelona

 Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelona

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelonalinkedin Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelonagoogleplus Proceso de un proyeto SEO: Clinic SEO en el eShow Barcelona

Tagged with:  

Es un tema archiconocido y muy usado hoy en día, y por si fuera poco, hipersimple: conseguir las coordenadas de una ubicación por su nombre o mediante una dirección postal. ¿Desde dónde? Pues bueno, hay muchos servicios que ofrecen este tipo de trabajo: desde Geonames (un proyecto increible que recoge coordenadas e información geográfica e incluso demográfica de prácticamente todo el planeta… muy recomendable) hasta los servicios de GData para Google Maps.

La ventaja de usar Google Data (AKA GData) es que el trabajo ya viene hecho, y de paso, está integrado diréctamente en el Google Maps API y por lo tanto el esfuerzo es minomo. Y encima, podemos hacer la consulta de manera asíncrona mediante AJAX. Si usaramos servicios como el de Geonames deberíamos currarnos nosotros mismos esta parte. Pero bueno, todo esto es texto redundante y a nadie le interesan mis verborreas absurdas sobre este tema. Vamos al grano.

function showAddress(address)
{
var geocoder = new GClientGeocoder();
geocoder.getLatLng(address,
function(point)
{
if (!point)
alert(address + ” –> no encontrado en Google Geo Services.”);
else
map.setCenter(point, 13);
}
);
}

Bien, ¿qué hace éste código? Pues es bien sencillo. Primero creamos la instancia de la clase GClientGeocoder, incluido con el Google Maps API desde su versión 2.55, y que contiene una serie de servicios de geocodificado que nos permiten consultar diferentes datos al mercadillo de Mountain View.

Concretamente nos interesa el método getLatLng, que recibe como parámetro la dirección o nombre de la ubicación que nos interesa, y al recibir la respuesta (callback) ejecutará la función creada, recibiendo como parámetro el punto concreto donde se encuentra el lugar, con un objeto de clase GLatLng. ¡Tachán! Ahí está nuestro resultado. Para centrar la vista en él, solo debemos llamar al método setCenter, pasandole como parámetros el punto en cuestión y el nivel de zoom.

Bueno, todo esto está tirado y todos sabemos hacerlo. Sobretodo porque viene en la documentación de la API, y aunque no es exáctamente esta la explicación que dan, es bastante aproximada.

Pero lo interesante aquí es rizar el rizo: recibir como respuesta lugares cercanos a una ubicación concreta.

Dentro del mundo GEO, y a un nivel fundamentalmente básico, hay tres maneras de representar una ubicación:

  • Sus coordenadas geográficas (latitud, longitud)
  • Su encuadre en un mapa (latitud noreste, longitud noreste, latitud suroeste, longitud suroeste)
  • Dirección postal (como, por ejemplo, calle celestina 983)

Pues bien, en el mismo objeto GClientGeocoder tenemos un método que nos permite pedir a Google una colección de localizaciones cercanas a una ubicación concreta: getLocations, que puede recibir como parámetro de consulta o una dirección, o un punto GLatLng.

¿Qué nos va a devolver esta llamada? Un objeto estructurado con todos los datos precisos: por un lado, la información detallada de la ubicación pedida, y por otro, el resultado de Google para la ubicación, con todas las ubicaciones almacenadas en un array de Placemarks, tal que así (lo pego diréctamente desde la documentación de ejemplo de Google, es más claro así, para la geocodificación inversa):

[   {     name:"Washington, DC",     Status:{       code:200,       request:"geocode"     },     Placemark:[       {         address:"Washington, DC, USA",         population:"0.563M",         AddressDetails:{           Country:{             CountryNameCode:"US",             AdministrativeArea:{               AdministrativeAreaName:"DC",               Locality:{                 LocalityName:"Washington"               }             }           },           Accuracy:4                   },         Point:{           coordinates:[-77.036667,38.895000,0]         }       }     ]   },   ...// etc., and so on for other cities]

Espero que os sea de utilidad… Aunque sea algo tan básico.

 Geocodificar una dirección postal con los servicios de Google

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter Geocodificar una dirección postal con los servicios de Googlelinkedin Geocodificar una dirección postal con los servicios de Googlegoogleplus Geocodificar una dirección postal con los servicios de Google

Tagged with:  

¿Alguna vez habéis querido llamar a métodos PHP desde el lado del cliente mediante AJAX? Pues bien, es bastante sencillo y voy a explicarlo de un modo rápido. Puntualizo que para la comunicación usaré el formato JSON (Javascript Object Notation) para la toma y devolución de datos.

Para facilitar las peticiones usaremos jQuery, que ya trae en sí todo lo necesario para poder realizar este tipo de petición. Primero vamos a crear una función en PHP que multiplique dos números, tal que así:

function Multiplicar(a,b) { return a*b; }

Hasta aquí supongo que todos hemos llegado. Ahora viene lo divertido… Creamos la parte de cliente, en Javascript, una vez hayamos incrustado la librería de jQuery en nuestra página:

function DoMultiplicar(p_a,p_b)
{
$.post(ruta_al_servicio, {a:p_a,b:p_b,cmd:”multiplica”},
function(data)
{
eval(“var obj = ” + data + “;”);
alert(data.result);
}
, “json”);
}

Y procesamos la petición en PHP:

if ($_POST["cmd"] == “multiplica”)
Multiplicar($_POST["a"],$_POST["b"]);

Vale, pero, ¿qué ha hecho todo esto? Pues muy sencillo… Por la parte de Javascript, hemos llamado al método $.post, al cuál le hemos pasado como parámetros, en el mismo orden:

  • Ruta al servicio: ruta absoluta al fichero PHP que controla la petición por POST, y que se encarga de la llamada al método Multiplicar.
  • Parámetros: mediante la notación de objetos de Javascript (JSON), introducimos los difentes parámetros que usará nuestro script de servidor. Para los que no estén familiarizados con JSON, es un protocolo de declaración de objetos de Javascript, que permite crear una estructura de objeto mediante una cadena sencilla, rodeada por llaves, donde cada miembro se separa por comas. Para más información, consultar la página oficial de JSON, donde apareden numerosos ejemplos con los que aprender.
  • Método callback: función que recoge, en este caso, el resultado de la petición. Lo hemos llamado data, pero podéis llamarlo como mejor os venga para vuestro trabajo: el parámetro que recibe será siempre la respuesta del servidor.

Una vez recogido el resultado con el callback, ya lo tenemos: el resultado de la multiplicación. Si tenéis dudas, no tengáis problema en dejar comentarios… aunque sé que este pequeño tutorial es sencillo y básico para muchos icon wink AJAX, JSON y jQuery, llamando a funciones de PHP desde el cliente , puede que para otros no tanto.

 AJAX, JSON y jQuery, llamando a funciones de PHP desde el cliente

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter AJAX, JSON y jQuery, llamando a funciones de PHP desde el clientelinkedin AJAX, JSON y jQuery, llamando a funciones de PHP desde el clientegoogleplus AJAX, JSON y jQuery, llamando a funciones de PHP desde el cliente

 

ViewState y Google: ¿afecta a los trabajos de indexado?

On 13 mayo, 2009, in Desarrollo web, by Alfonso Moure Ortega

Se escucha desde hace mucho tiempo el sonido distante de éste mismo problema: ¿afecta la existencia del ViewState de ASP.NET en el indexado de Google? La respuesta solo puede tomar dos valores: sí o no. Y cada persona, cada SEO, cada gurú de Internet, os responderá una cosa diferente. Por supuesto, yo también tengo mi teoría.

Y es la siguiente: sí, el ViewState de ASP.NET afecta al posicionamiento en Google. ¿Por qué? Os doy varias razones:

  1. Por su tamaño: en páginas demasiado complejas y con una gran carga de controles ASP.NET, ocupará tanto espacio que nos arriesgamos no solo a perjudicar a los usuarios menos favorecidos en su velocidad de conexión, sino que también nos arriesgaremos a producir un timeout en las consultas de Google.
  2. Por el desplazamiento de contenido: Google utiliza como criterio de posicionamiento, como todos bien sabemos, la posición de la información y metainformación dentro del documento HTML. Un ViewState demasiado grande moverá los datos realmente importantes (es decir, todo el BODY) hacia abajo.
  3. Por su incoherencia como información: El contenido del ViewState es incomprensible, no solo para un humano, sino también para una máquina ajena a la aplicación ASP.NET en ejecución. Incluso a veces es incomprensible para ella misma.

¿Cómo evitar su existencia? No siempre es posible. El uso de callbacks en ASP.NET, aunque es algo muy cómodo, no es ni de lejos recomendable para atraer a Google. Todos lo sabemos. Pero a veces, se hace inevitable.

De todas maneras, si podéis evitar el uso de ViewState (y por favor, no uséis variables de sesión, porque os volveréis majaras trabajando con ellas), os digo un modo bien sencillo de desactivarlo: en la etiqueta inicial de vuestra página ASP.NET, no hay más que activar EnableViewState como false:

<%@ Page Language=”C#” EnableViewState=”False” %>

Lógicamente podéis usar este mismo atributo en cualquier control de vuestra página, pero gracias a realizarlo a nivel de Page, os aseguraréis de que se extiende como es debído y que nada se os pase por alto. Recordad así mismo que podéis establecer EnableViewState como false a nivel de página, pero como true a nivel de control, simplemente indicandolo en la etiqueta propia del elemento que queréis que pueda usar nuestro valioso espacio de control de estado.

¿Dudas? Dejad un comentario y gustoso os echaré una mano.

 ViewState y Google: ¿afecta a los trabajos de indexado?

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter ViewState y Google: ¿afecta a los trabajos de indexado?linkedin ViewState y Google: ¿afecta a los trabajos de indexado?googleplus ViewState y Google: ¿afecta a los trabajos de indexado?

Tagged with:  

Pasando variables entre callbacks en ASP.NET: ViewState

On 25 agosto, 2008, in Sin categoría, by Alfonso Moure Ortega

Desde pasar variables en campos ocultos (hidden fields) hasta guardarlas como variables de sesión, pasando por enviar QueryStrings absurdamente largos. Estas son algunas de las salidas que muchos programadores utilizan para poder pasarse información entre diferentes callbacks en ASP.NET, para conservar valores de variables o datos de los usuarios. ¿Os imagináis guardar datos personales de los usuarios en campos ocultos HTML? Aberrante.

Algunas personas utilizarán otros métodos, pero yo os voy a sugerir mi preferido y el que más uso normalmente. Es recomendable no usarlo en situaciones donde la seguridad sea extremadamente importante, pese a que decodificar la cadena del ViewState en el resultado renderizado de la página sea un acto casi faraónico.

Mi propuesta es la siguiente: muchos queremos poder mantener el estado y contenido de nuestras variables entre un callback y el siguiente, de manera sencilla y cómoda. Para ello vamos a usar el ViewState.

Para los profanos: ¿qué es el ViewState?

Cuando uno programa en ASP.NET, comunmente utiliza eventos para controlar la interacción de los usuarios clientes en la página. Estos eventos nos permiten detectar, por ejemplo, cuándo un usuario selecciona una opción de un desplegable DropDownList. Cuando el cliente hace ésto, por arte de magia el código de lado de servidor recibe un mensaje que lanza un método señalado como capturador del evento. Por ejemplo:

Código ASP.NET:

<asp:DropDownList runat=”server” ID=”dropdownPrueba” OnSelectedIndexChanged=”procesarCambio”>
<asp:ListItem Text=”Opción 1″ Value=”1″></asp:ListItem>
<asp:ListItem Text=”Opción 2″ Value=”1″></asp:ListItem>
</asp:DropDownList>

Código C#

protected void procesarCambio(object sender, EventArgs e)
{
Response.Write(this.dropdownPrueba.SelectedItem.Text);
}

Fijaros bien en algo. En la función C# anterior, estoy recogiendo el texto contenido en el item seleccionado en el desplegable. ¿Cómo sabe ASP.NET lo que está seleccionado? ¿Cómo sabe los items que había antes en el desplegable? La pregunta tiene fácil respuesta: el ViewState.

El ViewState es el modo en que ASP.NET guarda el estado general de una aplicación web dentro del ámbito de una misma página y sus consecuentes callbacks. Automáticamente, guarda el estado de todas las variables de los controles de usuario ASP.NET (siempre y cuando tengamos activada la opción EnableViewState en el control), de manera que se conservan y son accesibles en cada callback de la página.

Pero, ¿cómo puede esto servirnos para guardar datos entre una llamada a servidor y otra? Los chicos de Redmon nos han dejado una pequeña puerta trasera para acceder al ViewState e introducir y recuperar información.

Su uso es bien sencillo: podemos acceder al ViewState como una variable estática global, de la siguiente manera y desde cualquier punto de nuestro proyecto web:

Código C#

//Introducimos un dato en el ViewState…

ViewState["midato"] = “vamos a guardar esto en el ViewState de la página”;

//y ahora lo recuperamos

string este_era_el_dato = ViewState["midato"];

Por supuesto, podéis probar esto y añadir cada línea en callbacks diferentes para poder comprobar su correcto funcionamiento.

Mi sugerencia

Cada desarrollador tiene sus propias manías, y yo no soy una excepción. Por ello, conservo determinados valores entre diferentes llamadas del servidor cuando es necesario y apropiado. Aquí os dejo un ejemplo:

private string __variable;

public string Variable
{
get { if (ViewState["variable"] != null) return ViewState["variable"].ToString(); else return this.__variable; }
set { ViewState["variable"] = value; this.__variable = value; }
}

De esta manera, si haceis uso de la propiedad llamada Variable en cualquier punto de la clase, ésta se conservará entre callbacks. Recordad que, aunque la propiedad Variable, aunque la haya definido como pública, podeis usarla como prefiráis (private, protected…). No useis la variable __variable, pues será sobreescrita por la propiedad cada vez que la llaméis, no es más que un punto de control.

Como nota personal, siempre tiendo a encerrar este tipo de composiciones en una misma región, quedando mucho más organizado y ordenado.

 Pasando variables entre callbacks en ASP.NET: ViewState

Alfonso Moure Ortega

Consultor SEO, PPC/SEM y analítica web, con casi 10 años de experiencia en marketing online. Especialmente orientado a SEO y estrategia online, aglutinada entre diferentes puestos: previamente como Director de Marketing en Localnomad, y anteriormente como SEO & Online Marketing Head Manager en Only-apartments, SEO Team Leader en Relevant Traffic Spain y SEO Head Manager en Grupo Muchoviaje, además de como freelance. También cuento con 8 años de experiencia en desarrollo web con diferentes tecnologías. Me apasiona la tecnología, desde la electrónica a la informática, lo que es un buen complemento para todo. También soy un fiel amante de la ciencia ficción, de las películas de Star Wars y, cómo no, la música rock .

More Posts - Website

Follow Me:
twitter Pasando variables entre callbacks en ASP.NET: ViewStatelinkedin Pasando variables entre callbacks en ASP.NET: ViewStategoogleplus Pasando variables entre callbacks en ASP.NET: ViewState