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!