Potrzebuję stworzyć wyskakujące okna w mvc (nie nowa karta w przeglądarce). Czy ktoś wie, jak to zrobić?MVC-pop up window
Odpowiedz
Jedną z możliwości jest użycie jquery ui dialog.
EDIT
Pomysł byłoby mieć działanie ajax zwracającą częściowy widok. Wynik tej akcji (html) umieszczany jest wewnątrz kontenera popup i na module obsługi wywołania ajax wywołujesz wyskakujące okienko. Oto przykładowy kod:
@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>
Następnie trzeba dodać akcję w kontrolerze, który zwraca częściowy widok
[HttpGet]
public PartialViewResult SomeAction()
{
return PartialView();
}
miejsce co trzeba w częściowym widokiem, można także parametry akcja, itp.
Powodzenia!
Potrzebuję podać adres url, który zostanie otwarty w modowym pop-up, i nie jestem pewien, jak to zrobić z jquery .. Any idea? – Cipiripi
Edytowałem swoją odpowiedź, proszę to sprawdzić. – uvita
Otwiera tylko niektóre div jako treść okna, prawda? Ale jak otworzyć inną stronę w oknie dialogowym? –
Najbardziej oczywistym sposobem jest użycie jednego z frameworków js. Osobiście preferuję kontrolę okna dialogowego jQuery UI.
Proszę sprawdzić http://jqueryui.com/demos/dialog/ w celu uzyskania szczegółowych informacji na ten temat.
Ponadto można sprawdzić ASP.NET MVC modal dialog/popup best practice (to pytanie podobne do Ciebie)
Oczywiście jeśli potrzebujesz prostego okienko zawsze może użyć alert('Im popup');
Aktualizacja według swojej najnowszej życzenie
Aby otworzyć jakiś link w nowym możesz użyć następnego javascript:
function OpenDialog() {
window.open("some url", "DialogName", "height=200,width=200,modal=yes,alwaysRaised=yes");
}
Jednak wynik naprawdę zależy od przeglądarki. Większość z nich otwiera to modalne okno, nie w nowej karcie, ale w nowej instancji przeglądarki.
Ten temat może pomóc aswell:
JavaScript open in a new window, not tab
- 1. Różnica między $ window i window w Ionicframework
- 2. Znaczenie $ (window) .scrollTop() == $ (document) .height() - $ (window) .height()
- 3. Java - Window Obraz
- 4. popup window jak any.do
- 5. Aplikacja RESTful grails: DRY up up UrlMapping
- 6. IntelliJ Split Window Navigation
- 7. Obiekty WindowProxy i Window?
- 8. vagrant up issue
- 9. Jak obsługiwać przycisk "Up"?
- 10. Błąd Vagrant up Segfault
- 11. Bubbling up events.
- 12. Speed Up czas pobierania
- 13. python3 messes up terminal
- 14. AirPlay messes up localhost
- 15. Zrozumienie WPF wywodzących klasę WIndow
- 16. MVC 3 Razor PopUp Window
- 17. Jak uzyskać hWnd instancji Window?
- 18. Usługa WCF Service a Window
- 19. XCode Wyłącz TV-Out WIndow
- 20. Jak powiązać z s-up?
- 21. Przeciągnij pop-up kontroli WPF
- 22. Różnica między $ (window) .width() vs $ (document) .width()
- 23. Twitter BootStrap Modal Window zastępczy link
- 24. Używanie OpenGL bez systemu X-Window
- 25. wiersze poleceń Windows Window wielu poleceń
- 26. Funkcje programu Spark Window - zakres pomiędzy datami
- 27. Dodaj JFileChooser do Eclipse Window Builder
- 28. Rolling window dla tablic 1D w Numpy?
- 29. Jak używać obiektu window w ReactJS?
- 30. Dlaczego "window = window.parent;" stworzyć nieskończoną pętlę?
zaktualizowałem moją odpowiedź w zależności od aktualnych wymagań (adres URL w otwartym oknie). Mam nadzieję, że to ci pomoże :) –