Aqui va el código, a ver si me podeis echar una mano!
protected System.Web.UI.WebControls.DropDownList listaAsignaturas;
// En el Page_Load
private void
Page_Load(object sender, System.EventArgs e)
{
etiquetaError.Visible=false;
PuestoLabel.Visible=false;
PuestoTextBox.Visible=false;
ProfesionLabel.Visible=false;
ProfesionTextBox.Visible=false;
UniversidadLabel.Visible=false;
UniversidadTextBox.Visible=false;
// Introducir aquí el código de usuario para inicializar la página
if (!IsPostBack)
{
//Se inicializa la variable del servicio web
InstanciaDocencia = new Docencia.SW_Docencia();
InstanciaCuentas = new Cuentas.SW_Cuentas();
//Recuperar parametros del formulario anterior
sp = (IOusalCliente.Web.Modulos.Usuarios.SeleccionarPer fil)Context.Handler;
string rol = sp.pasarSeleccion;
Page.Session["variable_vRol"] = rol;
switch(RolUsu)
{
//Hay mas case, este es el que nos interesa
case ROL_ALUMNO: /*Alumno*/
//Se obtiene el listado de las asignaturas disponibles en el sistema
listaAsignaturas = new
System.Web.UI.WebControls.DropDownList();
//Se utiliza el método RecuperarDatosParaInterfaz del Servicio
// Web
ArrayList todasAsig = new
ArrayList(servWeb_Docencia.RecuperarDatosParaInter faz("listaAsignaturas"));
// Se enlaza elnombre de las asignaturas con el control
//DropDownList;
// Se deja el primero en blanco
listaAsignaturas.Items.Add(new ListItem("--- Selecciona
Asignatura ---"));
listaAsignaturas.Items[0].Value="0";
//En el arrayList van los datos del nombre de la asignatura y el codigo de asignatura
int j=1;
for (int i=0;i<todasAsig.Count;i++)
{
listaAsignaturas.Items.Add(new
ListItem(todasAsig[i].ToString()));
listaAsignaturas.Items[j].Value=todasAsig[i+1].ToString();
i++;
j++;
}
listaAsignaturas.CssClass="PosicionListaAsig";
PanelDatos.Controls.Add(listaAsignaturas);
break;
}
else
{
servWeb_Docencia = InstanciaDocencia;
servWeb_Cuentas = InstanciaCuentas;
}
}
//Cuando se pulsa el botón de envío se ejecuta el siguiente código
private void bRegistrar_Click(object sender, System.EventArgs e)
{
//Comprobaciones de error de los diferentes textbox rellenados por el
//usuario
switch(RolUsu)
{
case ROL_ALUMNO: /* Alumno*/
//En este momento listaAsignaturas es null
if(listaAsignaturas.SelectedItem.Value=="0")
{
etiquetaError.Text="Debes rellenar todos los campos
listaAsignaturas";
etiquetaError.Visible=true;
error=true;
}
break;
}
Espero que con este fragmento de código si que podais ayudarme.
Saludos.