Necesito crear ventanas emergentes en mvc (no una nueva pestaña en el navegador). ¿Alguien sabe como hacer esto?MVC-ventanas emergentes
Respuesta
Una posibilidad es usar jquery ui dialog.
EDITAR
La idea sería tener una acción ajax que devuelve una vista parcial. El resultado de esa acción (html) se coloca dentro del contenedor de la ventana emergente y en el controlador de éxito de la llamada ajax se abre la ventana emergente. Aquí hay un código de ejemplo:
@Ajax.ActionLink("Open popup", "SomeAction", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "result", InsertionMode = InsertionMode.Replace, OnSuccess="openPopup" })<br />
<div id="result" style="display:none;"></div>
<script type="text/javascript">
$(document).ready(function() {
$("#result").dialog({
autoOpen: false,
title: 'Title',
width: 500,
height: 'auto',
modal: true
});
});
function openPopup() {
$("#result").dialog("open");
}
</script>
Después hay que añadir la acción en el controlador que devuelve la vista parcial
[HttpGet]
public PartialViewResult SomeAction()
{
return PartialView();
}
lugar lo que necesita en la vista parcial, también puede incluir parámetros en la acción, etc.
¡Buena suerte!
Necesito pasar la dirección URL que se abrirá en el menú emergente modal, y no estoy seguro de cómo hacer eso con jquery ... ¿Alguna idea? – Cipiripi
He editado mi respuesta, por favor verifíquela. – uvita
Abre solo algunos div como contenido de diálogo, ¿no es así? ¿Pero cómo abrir alguna otra página en el cuadro de diálogo? –
La forma más obvia es usar uno de los frameworks js. Personalmente prefiero el control de diálogo jQuery UI.
Por favor, consulte http://jqueryui.com/demos/dialog/ para obtener información detallada al respecto.
También puede consultar ASP.NET MVC modal dialog/popup best practice (que es la pregunta similar a la suya)
Por supuesto, si se necesita algún emergente sencilla que siempre puede utilizar alert('Im popup');
actualización de acuerdo a su última solicitud
abrir algunas URL en la nueva ventana que puede utilizar siguiente javascript:
function OpenDialog() {
window.open("some url", "DialogName", "height=200,width=200,modal=yes,alwaysRaised=yes");
}
Pero el resultado realmente depende del navegador. La mayoría de ellos abren esta ventana modal no en una pestaña nueva sino en una nueva instancia del navegador.
Este tema podría ayudarle a aswell:
JavaScript open in a new window, not tab
- 1. menús emergentes
- 2. Menús emergentes GLUT
- 3. Selenium: Ventanas emergentes de prueba
- 4. Drupal: crear contenido en ventanas emergentes/lightbox?
- 5. Necesito elevar permisos sin ventanas emergentes UAC
- 6. jQuery móvil y cuadros de diálogo emergentes
- 7. Evitar legalmente el bloqueo de ventanas emergentes
- 8. Ventanas emergentes y cuadros de diálogo jQuery
- 9. ¿Es posible abrir enlaces emergentes en UIWebView?
- 10. Notificaciones emergentes de KDE en xmonad
- 11. Apilar varias ventanas emergentes de libnotify
- 12. Cómo crear ventanas emergentes en Rails 3.1
- 13. Aero Glass Bordes de Ventanas Emergentes en C#
- 14. iOS: Creación de sugerencias/ventanas emergentes de ayuda
- 15. Evite ventanas emergentes de Windows Firewall con sockets en localhost
- 16. ¿Podemos crear alertas de error emergentes en java?
- 17. Watin: cómo probar el sitio con las páginas emergentes
- 18. ¿Cómo obtener acceso desde ventanas emergentes entre sitios a window.opener?
- 19. Cómo un bookmarklet puede evitar el bloqueo de ventanas emergentes
- 20. NSPathControl con ventanas emergentes para cada componente de la ruta?
- 21. Asignar a una matriz y reemplazar valores nulos emergentes
- 22. jQuery cola en Chrome userscript con ventanas emergentes?
- 23. ¿Qué desencadena los bloqueadores de ventanas emergentes en los navegadores?
- 24. Abrir página externa en ventanas emergentes en jQuery Mobile
- 25. Manejo de ventanas emergentes del navegador con Selenium
- 26. Evitar el desplazamiento en segundo plano al mostrar ventanas emergentes
- 27. Control de ventanas emergentes en las aplicaciones Metro de Windows8?
- 28. Crear notificaciones emergentes de "tostadora" en Windows con .NET
- 29. Crear ventanas emergentes informativas/información sobre herramientas en Cocoa
- 30. ¿Aumenta el ancho máximo de ventanas emergentes en una extensión de Chrome?
He actualizado mi respuesta de acuerdo a sus requisitos más recientes (dirección URL abierta en el diálogo). Espero que te ayude :) –