Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2009, 11:49
Avatar de pyroCL
pyroCL
 
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años, 10 meses
Puntos: 2
Exclamación Enviar datos desde un dropdownlist a un popup

Hola.

Primero que todo doy las gracias por esta página, ya que me ha sacado de muchas dudas.

Tengo un gran problema y llevo mucho rato tratando de arreglarlo y no me resulta.

Estoy creando una plataforma web, con visual studio 2008 y c#.

Lo que quiero hacer es: tengo un webform padre que tiene un dropdownlist, la idea es que en esta lista al seleccionar un item, envíe a un popu el item seleccionado.

El programa lo hace, pero mal. Cuando abro la página padre, y selecciono el item desde la lista, no se abre el popup, si vuelvo a seleccionar un item de la lista, ahí si se abre el popup, pero con el primer dato que había seleccionado..

Ej: Abro la página, en la lista selecciono el número 2, la idea es que en el popup salga el número 2. Pro no pasa así.
Lo que ocurre es: Abro la página, selecciono el número 2 y no se abre el popup, ahora seleccion el número 5 y se abre el popup con el número dos. Si cierro el popup y selecciono el número 7 en la lista de la págin padre, se abre el popup cpn el número 5 escrito. Ayuda!

Está medio confuso, pero espero que me entiendan.

les muestro mi código para ver si me ayudan por favor!

PÁGINA PADRE (WEBFORM):

Código:
<script type="text/javascript" language="javascript">
    var newWin = null;
function abrir()
{
var parametro = document.getelemenbyid('TextBox1');
window.open('popups/popupPrueba.aspx?dato="+parametro+"','top=150,left=150,width=800,height=800');
}
function launchCenter(url, name, height, width) 
		{
			var str = "height=" + height + ",innerHeight=" + height;
			str += ",width=" + width + ",innerWidth=" + width;
			if (window.screen) 
			{
				var ah = screen.availHeight - 30;
				var aw = screen.availWidth - 10;
				var xc = (aw - width) / 2;
				var yc = (ah - height) / 2;
				str += ",left=" + xc + ",screenX=" + xc;
				str += ",top=" + yc + ",screenY=" + yc;
			}			
		
			closeWin();
			newWin = window.open(url, name, str);
			newWin.focus();
			return false;
		}
		function closeWin()
		{
			if (newWin != null)
			{
				if(!newWin.closed)
					newWin.close();
			}
		}	

function popup(ID)
	{
		var ir='popups/popupPrueba.aspx?ID=' + ID;				
		launchCenter(ir,'Prueba', 300,400) ;			
	}

CODE BEHIND:
Código:
protected void Page_Load(object sender, EventArgs e)
        {
            string ID;
           
            ID = (string)(DropDownList1.SelectedValue); 
            DropDownList1.Attributes.Add("onchange", "popup(" + ID + ");"); //envio el dato al popup
            
         }
PÁGINA HIJA (POPUP):

CODE BEHIND:

Código:
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string name = pID;
                TextBox1.Text = name; //Escribe en el textbox lo que rescato (rescata el dato anterior no el actual)
                Button1.Attributes.Add("onclick", "window.close();"); //posee un boton cerrar
            }   
        }

//CAPTURA EL DATO Y LO GUARDA EN LA VARIABLE pID
protected string pID
        { get { return Convert.ToString(Request.QueryString["ID"]); } }

Por favor si alguien me puede ayudar lo agradecería.

GRACIAS!


---------------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Siguiendo con el tema, a alguien se le ocurre como puedo lanzar un popup al seleccionar un item en especial de la dropdownlist???

Ej: Abro la lista, selecciono "Lanzar popup" y ahí se abre, si selecciono otro item no se abre el popup.


Gracias!

Última edición por pyroCL; 17/06/2009 a las 08:45 Razón: Éxtención del tema