Öffnen Sie jquery modal dialog controller in MVC3
In meinem _Layout.cshtml
ich das schreiben von javascript-code, die mir erlauben, um die Anzeige Modaler dialog auf der Seite mit dem Formular für die Benutzeranmeldung, wenn ich auf den link klicken, und das ist Arbeit. Mein problem ist, dass ich will, etwas zu tun:
Ich Klick auf ActionLink, dass die Ausführung von code aus dem controller, ich.e:
public ActionResult Create()
{
if (Session["UserID"] != null)
{
ViewBag.PlaceID = new SelectList(db.Places, "PlaceID", "Name");
ViewBag.UserID = new SelectList(db.Users, "UserID", "FullName");
return View();
}
else
{
return RedirectToAction("LogIn", "User");
}
}
Jemand eine Idee, wie das zu ändern return RedirectToAction("LogIn", "User");
code, für etwas, das zeigen mir meine modales Dialogfeld anstatt zu öffnen, neue Seite für den login?
InformationsquelleAutor Piotr Styczyński | 2011-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie Griff das auf in javascript.
Ihre klicken Sie auf öffnen sollte das modale Fenster, das könnte eine teilweise kehren Sie aus einem controller.. oder einfach eine Karte verstecken. die login haben, sitzen auf der Seite bereits. Aber wenn Sie wollte, könnte Sie eine remote-URL (das wäre ein Aufruf an Eure controller) in die Quelle der modalen Fenster.
check-out:
ASP.Net MVC jQuery Dialog Teilweise
Ok, ich sehe. Es ist möglich.. aber nicht wirklich die Art und Weise, darüber zu gehen. #1 wenn Ihr Erster Anruf an die Steuerung erfolgt nicht mit ajax, dann machen Sie eine neue Seite anfordern. Also Seite neu laden. Um das modale Fenster zu öffnen Sie Ihr Modell könnte eine "showModal" var übergeben, um die Ansicht. In der Ansicht konnte man einige js laufen $(document).bereit(Funktion () { if(@showModal) es dann zeigen.. }); Aber der andere Weg wäre, um den ersten Anruf mit ajax... check die Antwort.. wenn Sie brauchen, um die Umleitung zu einer neuen Sicht tun es in der Antwort.. ansonsten zeigen die modale.
Danke, das scheint ein guter Ansatz, ich werde versuchen, es zu realisieren bald.
InformationsquelleAutor billy jean
verwenden Sie ein
Ajax.ActionLink()
.controller:
und in der Ansicht:
Nun, es gibt immer nur 2 verschiedene links.
@if(Request.IsAuthenticated) { // link to somewhere } else { // link to login }
InformationsquelleAutor David Wick