• Tour Perú 2012 – Fechas y lugares definitivos

    Pues eso, que desde la última vez que avisé del El Guille Tour Perú 2012 hay dos ciudades que han cambiado, por una parte no iré ni a Puno ni a Ayacucho, pero si estaré en Lima y Chincha.

    Estos son los lugares y fechas, para más información, registro, lugar de las charlas, cambios de última hora, etc. por favor visita el sitio de Ineta Latam, gracias.

     

    • Lunes 5 de Noviembre: Cusco
    • Jueves 8 de Noviembre: Chincha
    • Sábado 10 de Noviembre: Trujillo
    • Lunes 12 de Noviembre: Lima
    • Martes 13 de Noviembre: Huancayo
    • Viernes 16 de Noviembre: Ica

     

     

    tour peru 2012 elguille
    tour peru 2012 ineta 

     

    Nos vemos.
    Guillermo

    …

  • Probando mi sitio para verlo en los móviles

    Pues eso… a ver si poco a poco lo consigo, al menos con las páginas más principales… me refiero a preparar dichas páginas para que se vean "decentemente" bien en un dispositivo móvil…

    Por ahora compruebo si el dispositivo móvil es uno de estos:
    Android, iPhone, Blackberry o Symbian,
    para el resto hay que indicar expresamente la página preparada para el móvil, por ejemplo la página principal de mi sitio para dispositivos móviles es esta: default_mob.aspx

    Por supuesto, en un navegador "normal" no se verá igual que en uno usado desde un dispositivo móvil, por aquello del tamaño y esas cosas… así que… si no te gusta como lo ves desde tu equipo normal, lo mismo te parece mejor desde un teléfono móvil.

    Decir que la página principal está muy reducida en cuanto a contenido se refiere, para que no sea lenta la carga (y sobre todo para que no tuviera yo que comprobar más cosas de la cuenta, jeje)

    Esta captura es "simulada" ya que está capturada (valga la redundancia) desde el navegador de mi portátil… que no tengo ninguna aplicación para capturar en mi android… y también para que no fuese demasiado larga (o alta) he quitado algunas de las cosas que hay en la lista de "Lo más reciente".

     

    elGuille_mob_00

     

    Como te he dicho, a ver si adapto algunas de las páginas de mi sitio para que se vea mejor en los teléfonos/dispositivos móviles o al menos adapto las que indico en el primer bloque de la página principal.

     

    Ah, y si tienes un teléfono móvil diferente a los que te he indicado arriba, y por tanto no ves la página adecuada a los móviles, y me quieres ayudar, por favor utiliza esta página para mostrar el contenido de navigator.userAgent y así poder mandármelo por correo y lo mismo lo añado a la lista de dispositivos móviles soportados en mi sitio web.

    Si te decides a hacerlo, por favor mándame un mensaje a:
    mensaje_elguille.info
    y en el asunto indica: "userAgent de mi dispositivo movil".
    Gracias.

     

    Nos vemos.
    Guillermo

    …

  • Asignar el foco a un control al cargar una página web aspx (ampliación y recapitulación)

    Pues eso… que lo de "ampliación" es por no poner "revisited" o algo similar que eso ya está muy visto, jeje y lo de "recapitulación" por el chasco/descubrimiento/formas diferentes de funcionar con el que me he encontrado al hacer pruebas en VB y en C#, ya verás, ya…

    Pero en realidad esto es una aclaración o más bien un añadido (o ampliación) del otro artículo que publiqué el pasado 11 de octubre sobre este mismo tema, es decir, cómo asignar el foco a un control al cargar una página web aspx, en ese caso el código era con Visual Basic .NET pero lo importante no era el código si no lo explicado, es decir la forma de conseguir eso que indica el título.

    La aclaración es porque en ese ejemplo el código y el diseño está todo en un mismo fichero (archivo) en lugar de tener el código por un lado y el diseño por otro, que es como el Visual Studio se empeña que lo hagamos, aunque en mi caso particular me gusta más (o prefiero) tener todo junto, ya que así es más fácil de actualizar la página en concreto, al menos para mí, que todo puede ser que a tí te venga mejor compilar el código y publicarlo cada vez que hagas una modificación por pequeña que sea… ¡hay gustos para todo! 😉

     

    Vamos a lo que vamos.

    Si utilizas el código por separado del diseño de la página web entonces no es necesario asignar un valor true a la propiedad AutoEventWireup, ese valor verdadero sólo debes asignarlo si el código a usar está "incrustado" en la página web ASPX y no en un fichero separado (el cual hay que compilar y publicar en el sitio web).

     

    La forma de indicar si tienes el código "incrustado" o por separado es usando (lo que se llama "code behind"), esto lo puedes indicar al crear un nuevo fichero en el proyecto web tal como puedes ver en la figura 1 en la que he resaltado la parte que le indica a Visual Studio si quieres usar el código en un fichero separado o no (en este ejemplo SI se usa por separado).

    orden_tabulacion_fig1
    Figura 1. Indicar si queremos el código por separado o no

     

    Esto creará dos ficheros uno con la extensión .aspx (el diseño de la página web) y otro con la extensión del lenguaje usado, en este ejemplo al indicar que el código es de C# la extensión del fichero de código es: .aspx.cs.

    En este caso, el código de "enfoque" del control que queremos que sea el primero en recibir el foco lo pondremos dentro del evento Page_Load tal como podemos ver en los dos listados (el del diseñador y el código).
    (Ver el comentario de la nota).

     

    Listado 1 (el código del diseñador .aspx):

     

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Default3 - con el código por separado (en C#)</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <asp:TextBox ID="TextBox1" runat="server">uno</asp:TextBox><br />
            <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
            <asp:TextBox ID="TextBox2" runat="server">dos</asp:TextBox><br />
            <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
            <asp:TextBox ID="TextBox3" runat="server">tres</asp:TextBox><br />
            <asp:Button ID="Button1" runat="server" Text="Button" />    
        </div>
        </form>
    </body>
    </html>

     

    Listado 2 (el código de C# .aspx.cs):

     

    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class Default3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.TextBox1.Focus();
        }
    

     

     

    Nota:

    Es curioso, pero al hacer la prueba con C# para "demostrar" todo esto que estoy explicando, si no uso un valor verdadero (true) en la propiedad AutoEventWireup de la página de C# no se ejecuta ese código del evento Page_Load, sin embargo (de ahí lo de curioso) en el código de Visual Basic da igual el valor que tenga esa propiedad… ¡jum!

     

     

    Conclusión:

    Que no tengo ni idea de por qué pasa esto con una página de C#… así que… sigue usando AutoEventWireup = "true" y así seguro que siempre te funciona…

    Como te he dicho antes (en la nota) en Visual Basic .NET si va bien, uses true o false en AutoEventWireup, eso sí, siempre que el código esté por separado, si el código está en la misma página, si hay que indicar el valor true.

    En cualquier caso, lo cierto es que al añadir la página de C# el valor de la propiedad AutoEventWireup tiene el valor true, mientras que en Visual Basic es false.

    Todo esto (no solo que el valor sea verdadero/falso) es otra demostración de que a los de Visual Basic nos tratan de forma diferente…

    En fin…

     

    Espero que te sea de utilidad.

     

    Nos vemos.

    Guillermo

    …