Recarga ventanas modales
He abierto una ventana modal con el window.showModalDialog y al hacer un submit dentro de la ventana modal, me abre otra, ¿hay alguna manera de recargar ventanas modales sin que abra otra ventana?
Hola,
Se puede recargar ventanas modales con el window.showModalDialog y hacer el submit sin que se habra una nueva ventana.
Para ello se debe de crear una página base adicional donde contendrá un iframe cuyo src sea la ventana que se quiere abrir como una ventana modal.
// inicio de codigo ejemplo
1. En la página solicitante se ejecutará el siguiente JScript:
function OpenModalDialog()
{
var pageUrl = "la direccion de la página modal";
var argumentos = "los argumentos que se quieren pasar a la página modal";
var stylePageBase = "dialogWidth:800px;dialogHeight:300px;dialogLeft:200px;dialogTop:200px" ;
var stylePage = "height='300px' width='800px' frameborder='0' marginheight='0' marginwidth='0' scrolling='no'";
var url;
url = 'PaginaBaseModal.aspx?page=' + pageUrl + '&dimensionesPage=' + stylePage;
returnVal = window.showModalDialog(url,argumentos, stylePageBase);
return returnVal;
}
2. En la pagina base tendrá el siguiente codigo
En la página .aspx se insertá la siguiente linea : <asp:Literal ID="literalIframe" runat="server"></asp:Literal>
Y se tratará el siguiente evento de la siguiente manera:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim page As String
Dim dimPage As String
page = Request.Params("page")
dimPage = Request.Params("dimensionesPage")
literalIframe.Text = "<iframe name='embeddedFrame' " & _
"src='" & page & "' " & dimPage & " />"
End Sub
// fin de codigo ejemplo
Y eso es todo, espero que disfruteis de ello.
Saludos,
Se puede recargar ventanas modales con el window.showModalDialog y hacer el submit sin que se habra una nueva ventana.
Para ello se debe de crear una página base adicional donde contendrá un iframe cuyo src sea la ventana que se quiere abrir como una ventana modal.
// inicio de codigo ejemplo
1. En la página solicitante se ejecutará el siguiente JScript:
function OpenModalDialog()
{
var pageUrl = "la direccion de la página modal";
var argumentos = "los argumentos que se quieren pasar a la página modal";
var stylePageBase = "dialogWidth:800px;dialogHeight:300px;dialogLeft:200px;dialogTop:200px" ;
var stylePage = "height='300px' width='800px' frameborder='0' marginheight='0' marginwidth='0' scrolling='no'";
var url;
url = 'PaginaBaseModal.aspx?page=' + pageUrl + '&dimensionesPage=' + stylePage;
returnVal = window.showModalDialog(url,argumentos, stylePageBase);
return returnVal;
}
2. En la pagina base tendrá el siguiente codigo
En la página .aspx se insertá la siguiente linea : <asp:Literal ID="literalIframe" runat="server"></asp:Literal>
Y se tratará el siguiente evento de la siguiente manera:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim page As String
Dim dimPage As String
page = Request.Params("page")
dimPage = Request.Params("dimensionesPage")
literalIframe.Text = "<iframe name='embeddedFrame' " & _
"src='" & page & "' " & dimPage & " />"
End Sub
// fin de codigo ejemplo
Y eso es todo, espero que disfruteis de ello.
Saludos,
Pon esto dentro del <head> de la pagina que abres con
showModalDialog y solucionado.
<base target=\"_self\" />
showModalDialog y solucionado.
<base target=\"_self\" />
En ASP.NET 2008 se escribe asi: <base target="_self" />
pero gracias amigo porque me salvaste la patria...
pero gracias amigo porque me salvaste la patria...