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

No funciona __doPostBack('control','')de una página al llamar otra con target _blank

Estas en el tema de No funciona __doPostBack('control','')de una página al llamar otra con target _blank en el foro de ASPX (.net) en Foros del Web. No funciona __doPostBack('control','')de una pàgina de origen inmediatamente despuès de ejecutar la llamada a una pàgina destino con theForm.target='_blank'. Hola, estoy realizando un sitio web ...
  #1 (permalink)  
Antiguo 07/12/2011, 09:26
 
Fecha de Ingreso: diciembre-2011
Mensajes: 1
Antigüedad: 12 años, 4 meses
Puntos: 0
No funciona __doPostBack('control','')de una página al llamar otra con target _blank

No funciona __doPostBack('control','')de una pàgina de origen inmediatamente despuès de ejecutar la llamada a una pàgina destino con theForm.target='_blank'.

Hola, estoy realizando un sitio web en asp net 2.0 con C# utilizando el modelo code-behind y master page. En una páginas code-behind (página.aspx.cs) asociada a la master page leo una tabla y por cada registro genero dinámicamente link para editarlo, eliminarlo o ver el registro.

Para el link de “Editar” y “Ver” utilizo un linkbutton que al ser pulsado por el usuario debe ejecutar una función del lado del cliente y luego enviar el control a otra página.

Para el link de “Eliminar” igual utilizo un linkbutton q al ser pulsado llama a una función del lado del cliente que pregunta al usuario si esta seguro de realizar el borrado y de ser afirmativa la respuesta asigna un valor a un input hidden (para mantener un valor entre las distintas peticiones al servidor). y luego debe realizar el llamado a un control de servidor __doPostBack('ctl00$cuerpoHolder$LnkElimina',''); donde procede a eliminar de una tabla el registro seleccionado.

Todo funciona bien (Editar, Eliminar y Ver) al ejecutarse cada uno inmediatamente cargada la página.aspx pero el problema ocurre una vez que se hace clic en el link “Ver” que abre en otra ventana la página “VerRegistro”, e inmediatamente (luego de cerrar o minimizar la página “VerRegistro”) hace clic en “Eliminar” de la “Página.aspx” se ejecuta el código donde pregunta al usuario si esta seguro de eliminar el registro, se setea el valor al input hidden pero no realiza el envío del control al linkbutton “LnkElimina” __doPostBack('ctl00$cuerpoHolder$LnkElimina',''); al contrario lo que hace es ejecutar nuevamente “VerRegistro” en otra ventana.

No entiendo que esta sucediendo, porque no me funciona el __doPostBack('ctl00$cuerpoHolder$LnkElimina','') inmediatamente despues de ejecutar la llamada a una pàgina con theForm.target='_blank'. Recurro a este foro con esperanzas por si alguien tiene una idea de lo que debo hacer para resolver este inconveniente.


Pagina.aspx.cs

var = "<a onclick=\"llamadoEditar('" + Rs[0].ToString() + "');\" id=\"ctl00_cuerpoHolder_lnkEditar\" href=\"javascript:WebForm_DoPostBackWithOptions(ne w WebForm_PostBackOptions(&quot;ctl00$cuerpoHolder$l nkEditar&quot;, &quot;&quot;, false, &quot;&quot;, &quot;EditarRegistro.aspx&quot;, false, true))\"> Editar</a>";
Response.Write(var);

var = "<a href=\"javascript:void(null);\" onclick=\"confirma('" + Rs[0].ToString() + "','" + Rs[1].ToString() + "');\">Eliminar</a>";
Response.Write(var);

var = " <a onclick=\"llamadoVer('" + Rs[0].ToString() + "');\" id=\"ctl00_cuerpoHolder_LinkVer\" href=\"javascript:WebForm_DoPostBackWithOptions(ne w WebForm_PostBackOptions(&quot;ctl00$cuerpoHolder$L inkVer&quot;, &quot;&quot;, false, &quot;&quot;, &quot;../VerRegistro.aspx&quot;, false, true))\">ver</a>";
Response.Write(var);

protected void Elimina(object sender, EventArgs e)
{
if (IDCod.Value != ""){
//realiza el borrado
}
else {
Label2.Text = "Ha ocurrido un problema al eliminar: " + IDCod.Value;
}
}

Pagina.aspx:

<script type="text/javascript">
//Función para confirmar eliminación de registro

function confirma(id,nombre){
question = confirm("¿Esta seguro de eliminar el Registro: ( "+nombre+" )?");
if (question !="0"){
document.getElementById("<%=IDCod.ClientID%>").val ue = id;

__doPostBack('ctl00$cuerpoHolder$LnkElimina','');

}
return false;
}

// función para pasar el valor del Idregistro al input hidden y setear el target en la misma página.

function llamadoEditar(Dni)
{
document.getElementById("<%=Dni.ClientID%>").value = Dni;
theForm.target='_self';
}

// función para pasar el valor del Idregistro al input hidden y setear el target para que abra otra ventana.

function llamadoVer(Dni)
{
document.getElementById("<%=Dni.ClientID%>").value = Dni;
theForm.target='_blank';
}

</script>

<asp:LinkButton ID="LnkElimina" runat="server" OnClick="Elimina" style="display:none;"></asp:LinkButton>

<asp:LinkButton ID="lnkEditar" runat="server" PostBackUrl="~/GestorContenido/EditarRegistro.aspx" style="display:none;"></asp:LinkButton>

<asp:LinkButton ID="LinkVer" runat="server" PostBackUrl="~/VerRegistro.aspx" style="display:none;"></asp:LinkButton>

<input type="hidden" id="Dni" runat="server" />
<input type="hidden" id="IDCod" runat="server" />

Etiquetas: asp, aspx, blank, net, página, target
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 08:17.