Foros del Web » Programando para Internet » ASPX (.net) »

DROP Down LIST

Estas en el tema de DROP Down LIST en el foro de ASPX (.net) en Foros del Web. Hola, soy un asiduo lector de vuestro foro y me ha ayudado muchisimo, el caso es que tengo un problema de excesiva urgencia y mis ...
  #1 (permalink)  
Antiguo 25/12/2010, 16:50
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
DROP Down LIST

Hola, soy un asiduo lector de vuestro foro y me ha ayudado muchisimo, el caso es que tengo un problema de excesiva urgencia y mis conocimientos limitados no me permiten avanzar....

Tengo en mi web una lista desplegable (dropdownlist) donde figuran los posibles territorios de envio de pedidos (Nacional, Internacional, Recogida en tienda), cada uno con un value distinto.

Lo que quiero es que, cuando se cambie el valor de esta lista, se actualice la pagina mostrando los gastos de envio pertinentes.

tengo el dropdownlist en la pagina checkout.ascx y quisiera crear un evento que modifique una variable "Envio" en el checkout.ascx.cs

No se si me explico. el codigo que tengo en el checkout.ascx es:

<asp:DropDownList ID="cmbEnvio" cssclass="combo" title="Tipo de Envio" runat="server" OnSelectedIndexChanged="CambiaEnvio(this)" AutoPostBack="true"/>
<asp:listitem value ="0"> </asp:listitem>
<asp:listitem value ="-4"> </asp:listitem>
</asp:dropdownlist>


y en el checkout.ascx.cs aun no tengo nada, puesto que no se si el evento OnselectIndexChanged esta bien planteado, os pido ayuda para que me redacteis un codigo que lo unico que haga sea Cambiar el valor de la variable ENVIO segun sea el eleemento de la lista que se ha clickeado....

Tambien quisiera saber donde tengo que definir la variable Envio para que esta trabaje de forma global, ya que si la defino en el evento, en la carga de la pagina no me la reconoce. Estoy hecho un lio....

Sin mas, os doy las gracias de antemano y espero vuestra ayuda. Juan Carlos
  #2 (permalink)  
Antiguo 26/12/2010, 08:32
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 17 años, 4 meses
Puntos: 13
Respuesta: DROP Down LIST

Hola.....
Para tener la variable de tipo global podes usar variables de sesion que no es muy bueno abusar de estas pero ta....

Podrias usar el archivo global.asax y definir la variable ahi pero es global a la app y no a cada usuario. Esto depende de como lo quieras.

luego en cada evento page_load la chequeas y listo.

Saludos.
__________________
Marcelo Davila.

:. En Ignorante te conviertes al no preguntar, el que pregunta se nutre... :.
  #3 (permalink)  
Antiguo 26/12/2010, 13:08
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
Respuesta: DROP Down LIST

Muchas gracias por tu rapidez... Sigo investigando, te cuento:

Tengo un precio de envio en el web.config, el cual quiero modificar segun el elemento que se elija en el dropdownlist.

El web.config tiene definido un precio de envio de 4, al cual accedo con: Convert.ToDouble(ConfigurationManager.AppSettings["precioEnvio"].ToString())

Mi problema viene cuando quiero modificar ese valor (supongo que lo que existe en el web.config es CONSTANTE, no variable).

En el procedimiento "public void cmbEnvios_SelectedIndexChanged(object sender, EventArgs e)" compruebo cual es el elemento de la lista que se ha seleccionado (Nacional, Recogida en tienda), y quiero que segun sea el elemento que se ha seleccionado,.... se modifique esa constante (eso seria lo ideal),

La otra opcion era la de crear una variable, la cual he creado asi:

public class Variables
{
public static double Envio;
}

De esta manera tendria "teoricamente" una variable a nivel global del codigo, a la que accederia usando "Variables.Envio".

Todo funciona bien desde el procedimiento de SelectedIndexChanged. La variable contiene el valor que necesito aplicar al envio.

Lo que ocurre es que desde el codigo que tengo para aplicar los gastos de envio (fuera del procedimiento):

Cita:
if (Convert.ToDouble(ConfigurationManager.AppSettings["precioEnvio"].ToString()) > -1)
{

message.Text += "<tr id=\"pie-carrito\">\n";
message.Text += "<td id=\"txt_total\" colspan=\"5\" style=\"text-align:right;\"><strong>" + rm_articulos.GetString("gastosEnvio") + " " + string.Format("{0:c}", Convert.ToDouble(ConfigurationManager.AppSettings["precioEnvio"].ToString())+ Variables.Envio) + "</strong></td>\n";
message.Text += "</tr>\n";
message.Text += "<tr id=\"pie-carrito\">\n";
message.Text += "<td id=\"txt_total\" colspan=\"5\" style=\"text-align:right;\"><strong>" + rm_articulos.GetString("importeTotal") + " " + string.Format("{0:c}", Convert.ToDouble(ConfigurationManager.AppSettings["precioEnvio"].ToString())+ Variables.Envio + totalConDescuento) + "</strong></td>\n";
message.Text += "</tr>\n";
}
else
{

message.Text += "<tr id=\"pie-carrito\">\n";
message.Text += "<td id=\"txt_total\" colspan=\"5\" style=\"text-align:right;\"><strong>" + rm_articulos.GetString("importeTotal") + " " + string.Format("{0:c}", totalConDescuento) + "</strong></td>\n";
message.Text += "</tr>\n";
}
Este codigo no me interpreta la variable "Variables.Envio"... pero no me da ningun error.... Alguien tiene idea de que puede estar pasando?

No tengo ni idea de asp.net pero estoy modificando una web a un cliente....

Muchisimas gracias y espero haberme explicado.

Etiquetas: drop, list, aspx
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 04:56.