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:
PÁGINA HIJA (POPUP):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 }
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!