Foros del Web » Programación para mayores de 30 ;) » .NET »

Form - dropdownlist

Estas en el tema de Form - dropdownlist en el foro de .NET en Foros del Web. Hola gente, Estoy comenzando con .net y tengo un problema con un dropdownlist. cuando hago un submit de un form ejecuto un store procedure (Sql ...
  #1 (permalink)  
Antiguo 10/12/2004, 17:17
 
Fecha de Ingreso: abril-2002
Ubicación: Montevideo
Mensajes: 98
Antigüedad: 22 años
Puntos: 0
Form - dropdownlist

Hola gente,
Estoy comenzando con .net y tengo un problema con un dropdownlist.
cuando hago un submit de un form ejecuto un store procedure (Sql Server) y me salta un error de casting al levantar el valor de un dropdownlist.
el código es:


this.sqlComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Pai_ID", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, System.Convert.ToInt32(this.optPais.SelectedItem.V alue)));

Alguien me puede ayudar a entender por qué está mal?
Gracias,

jsaviola
  #2 (permalink)  
Antiguo 10/12/2004, 20:06
 
Fecha de Ingreso: abril-2002
Ubicación: Montevideo
Mensajes: 98
Antigüedad: 22 años
Puntos: 0
No se si me explique bien pero doy algún detalle más.

Estoy usando asp.net, con c#
Yo cargo un dropdownlist mediante un store procedure y luego al hacer submit en el formulario que lo contiene quiero ejecutar otro store procedure con el valor seleccionado del dropdownlist y otros campos de texto. Puedo obtener los valores de todos los campos menos del dropdownlist. Me da siempre 0 (cero).
Ideas?
gracias,

jsaviola
  #3 (permalink)  
Antiguo 10/12/2004, 21:05
 
Fecha de Ingreso: septiembre-2003
Ubicación: Monterrey,NL,México
Mensajes: 1
Antigüedad: 20 años, 7 meses
Puntos: 0
Podrías mostrar el código? Probablemente no se está cargando ningún item del ddl desde el stored procedure.
  #4 (permalink)  
Antiguo 10/12/2004, 21:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 85
Antigüedad: 20 años, 6 meses
Puntos: 0
Asegurate de que la propiedad VALUE del DropDownList devuelva un número, porque un caso en el error de CAST es el hecho de que lo que estes pasando al Convert sea algo alfanumérico y no numérico. Mira a ver si es esto lo que te ocurre.

Saludos.
__________________
ASP.Net - Relket - ASP.Net
  #5 (permalink)  
Antiguo 11/12/2004, 07:42
 
Fecha de Ingreso: abril-2002
Ubicación: Montevideo
Mensajes: 98
Antigüedad: 22 años
Puntos: 0
Cargar los datos los carga bien. O al menos me carga los valores en forma correcta (<select name=xx> <option value="1">desc1</option>....</select>)

Así cargo el dropdownlist:

_______________
this.sqlConn.Open();

this.sqlComm.CommandText = "web_Consultas";
this.sqlComm.CommandType = System.Data.CommandType.StoredProcedure;
this.sqlComm.Connection = this.sqlConn;
this.sqlComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@operacion", System.Data.SqlDbType.VarChar, 0, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, "P"));

this.sqlDR = this.sqlComm.ExecuteReader();

this.optPais.DataSource = this.sqlDR;
this.optPais.DataTextField = "pai_descripcion";
this.optPais.DataValueField = "pai_id";
this.optPais.DataBind();
this.sqlConn.Close();

this.optPais.Items.Insert(0, new System.Web.UI.WebControls.ListItem("Seleccionar país", "0"));
_______________


y así intento recuperarlo:
_______________
this.sqlComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Pai_ID", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, System.Convert.ToInt32(this.optPais.SelectedIndex) ));
______________

Gracias y acepto sugerencias y consejos si ven algo que podría estar mejor.
Saludos,

jsaviola
  #6 (permalink)  
Antiguo 11/12/2004, 08:17
 
Fecha de Ingreso: abril-2002
Ubicación: Montevideo
Mensajes: 98
Antigüedad: 22 años
Puntos: 0
Creo que lo que sigue esta mal:
System.Convert.ToInt32(this.optPais.SelectedIndex) )

pero he probado con:
System.Convert.ToInt32((this.optPais.Items[this.optPais.SelectedIndex]).Value

que a mi parecer estaría bien pero sigue insertando 0 (cero) luego del submit del form.
  #7 (permalink)  
Antiguo 12/12/2004, 12:59
 
Fecha de Ingreso: abril-2002
Ubicación: Montevideo
Mensajes: 98
Antigüedad: 22 años
Puntos: 0
Hola denuevo, espero que alguien lea este msg porque solo este tal jsaviola me contesta
Encontre que era lo que me hacía que siempre quedara 0 seleccionado. Es la línea:

this.optPais.Items.Insert(0, new System.Web.UI.WebControls.ListItem("Seleccionar país", "0"));


Pero ahora: ¿Cómo debo insertar este ítem? quiero dejar seleccionado un valor por defecto.

Gracias,

jsaviola
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:57.