Category: ASP.NET

Aug 28 2007

.NET: Como cargar un DropDowmList o como jugar con combos en ASP.NET con C#

Como os decía ayer, estamos emulando un buscador de viajes de la web. Pues bien, como os imaginareis, tenemos un combo con el mes de salida, y cuando modificamos este, tenemos que modificar el combo del mes de llegada, poniendo el mismo mes que el de salida + 12.

Para ello, lo primero es activar el postback del combo del mes de salida:

postback DropDowmList

Una vez activado, programamos el evento SelectedIndexChanged del combo del mes de salida. Pero antes, un apunte, en el evento Page_Load de la página, cuando he cargado el combo, lo he hecho de la siguiente forma:

protected void AniadirMes()
{
DateTime Hoy;
for (int i = 0; i < 12; i++)
{
Hoy = DateTime.Now.AddMonths(i);
ListItem MiMes = new ListItem(Hoy.ToString("MMM yyyy"), Hoy.ToLongDateString());
//ddlMesLLegada.Items.Add(MiMes);
ddlMesSalida.Items.Add(MiMes);
}
}

De esta forma, en el value del combo me guardo la fecha, así cuando llamo al evento SelectedIndexChanged del mismo, tengo la fecha seleccionada en el value, así no me como la cabeza para saber de que mes estoy hablando ;).

Como ibamos, una vez que modifiquemos el combo, saltará dicho evento, en el cual tengo lo siguiente:

ddlMesLLegada.Enabled = true;
ddlMesLLegada.Items.Clear();
DateTime Salida = DateTime.Parse(ddlMesSalida.SelectedValue);
DateTime Hoy;
for (int i = 0; i < 12; i++)
{
Hoy = Salida.AddMonths(i);
ListItem MiLista = new ListItem(Hoy.ToString("MMM yyyy"), Hoy.ToLongDateString());
ddlMesLLegada.Items.Add(MiLista);
}

Y de esta forma cargo el segundo combo a partir del primer combo.

Aug 27 2007

.NET: Agregar un elemento al DropDownList en ASP.NET

En el curso, estamos emulando una pagina web de vuelos de bajo coste de cara a aprender un poco de diseño (uso masivo de div y css en detrimento de las tablas) y empezar a utilizar las herramientas propias de ASP.NET. estamos emulando sólo la parte de la izquierda, la de la busqueda de vuelos.

Pues bien, en la página hemos introducido un DropDownList donde metemos las ciudades origen de los vuelos. Este DropDownList lo cargamos con los datos que hay en una tabla. Pero claro, en vez de que aparezca la primera ciudad de la tabla, queremos que aparezca la palabra Origen como primer elemento del DropDownList. para ello utilizaremos el siguiente código:

DropDownList1.Items.Insert(0, new ListItem("Origen", "0"));

Donde le indicamos, primero, el lugar que ocupara (el 0, para que sea el primero) y luego le metemos el texto y el valor que tendrá con un ListItem.