.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:
![]() |
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.


