Wie um zu zeigen, alert-Meldung in mvc 4 Controllers?
Ich habe versucht, zeigen eine alert-box im mvc-controller von if-else-Bedingung.Aber die alert-box nicht angezeigt.Wo ist mein Fehler ?
Controller
public ActionResult Index()
{
int userId = Convert.ToInt32(Session["userId"].ToString());
if (WebMatrix.WebData.WebSecurity.IsAuthenticated)
{
if (userId == 90043)
{
return View();
}
else
{
TempData["Message"] = "You are not authorized.";
return RedirectToAction("Index", "Home");
}
}
else
{
return RedirectToAction("Index", "Home");
}
}
- Was meinst du mit "Warnmeldung"? Werden Sie sich bewusst, dass der code im Controller ausgeführt wird auf einem server, ohne (direkten) Nutzer der Aufsicht. Es repräsentiert nicht das Ergebnis (Webseite), die der Benutzer sieht und interagiert mit. Darüber hinaus da dies nicht ein WinForms-Projekt, Sie können nicht anzeigen, die message-Boxen. Es macht keinen Sinn. Wenn Sie wollen, um die Anzeige eines JavaScript -
alert
, tun dies aus demIndex
anzeigen. - Hallo Andrei ich zeigen möchte, eine Warnung vor dem RedirectToAction wenn userId nicht gleich 90043
- Sie können nicht
- Zu wem? Wer muss diese Nachricht sehen? Ist es nur für debugging-Zwecke?
- wo sind Sie mithilfe von TempData["Meldung"] in der client-Seite ??
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht zeigen, eine Benachrichtigung von einem controller. Es gibt one-way-Kommunikation vom client zum server.Der server kann daher nicht sagen, der client nichts zu tun. Fordert der client und der server gibt eine Antwort.
Deshalb müssen Sie javascript verwenden, wenn die Antwort zurückgegeben, um zu zeigen, eine messagebox einiger Sortieren.
ODER
mithilfe von jquery auf die Schaltfläche zum aufrufen der controller-Aktion
Verwenden:
oder:
Ist es nicht möglich, Anzeige Alarme von dem controller. Da die MVC-views und Controller sind komplett voneinander getrennt. Sie können nur Informationen anzeigen, die in der Sicht nur. So ist es erforderlich zu geben die Informationen angezeigt werden, die aus controller-Sicht, indem Sie entweder
ViewBag
,ViewData
oderTempData
. Wenn Sie versuchen, zum anzeigen der gespeicherten Inhalte inTempData["Message"]
ist Es möglich, führen Sie in der Ansicht Seite durch das hinzufügen von wenigen javascript-Zeilen.Ich weiß, das ist nicht typisch alert-box, aber ich hoffe, es kann jemand helfen.
Es ist diese Erweiterung, die es Ihnen ermöglicht, Benachrichtigungen anzeigen innerhalb der HTML Seite mit bootstrap.
Es ist sehr einfach zu implementieren und funktioniert gut. Hier ist einen github-Seite für das Projekt inklusive ein paar demo-Bilder.