我只是想知道如何实现asp.net mvc3应用程序的通知系统,就像用户登录到成功登录页面的系统一样,如果没有错误消息则显示消息。
我有一些方法可以解决上述问题,在viewmodel上保留属性值,但是当我们将通知从一个控制器传递到另一个控制器或从一个动作传递到另一个动作时,我不知道如何实现。
就像当我们从帐户控制器登录到系统登录成功消息到家庭控制器并在主页上显示通知消息时用户登录成功。
请您理解是否可以提供代码示例或针对上述问题的最佳方法。
Thnaks
P.S
以下是我正在尝试的一些代码段
public ActionResult Register(UserRegistrationViewModel registrationModel)
{
//some logic and when end of the code set the error message and
//redirect to separate action and after new action can read the message and show
if(success)
return RedirectToAction("Index","Home");
else
return RedirectToAction("Logon");
}
答案 0 :(得分:9)
我喜欢使用purr jQuery插件
http://code.google.com/p/jquery-purr/
如果我想显示状态消息,我将其添加到TempData。 在我的页面底部,我有一个辅助方法,如果它找到TempData [“StatusMessage”],它会调用purr来显示它。
答案 1 :(得分:3)
您也可以尝试MvcNotification。在GitHub,您可以找到一个示例ASP.NET MVC项目,该项目显示了多种通知方式,包括AJAX方案。
MvcNotification是一个示例应用程序,显示了不同的方法 显示来自ASP.NET MVC控制器操作的通知 不引人注目的方式。
我目前正在使用它并且它做得很好...只需注意何时使用正确的方法调用true
或false
传递给参数ShowAfterRedirect
。根据具体情况,代码使用控制器的TempData或ViewData属性。有关其使用情况的更多信息here。
// If you want to display a message after a redirect, for example:
// call ShowMessage with true just before return RedirectToAction("Index");
this.ShowMessage(MessageType.Success, "YourMessage", true);
作者的博客文章包含实施细节:http://blogs.taiga.nl/martijn/2011/05/03/keep-your-users-informed-with-asp-net-mvc/
最近有toastr。
简单的javascript吐司通知。 toastr是一个用于非阻塞通知的Javascript库。 jQuery的 是必须的。目标是创建一个简单的核心库 定制和扩展。
这么好的JS库!
您可以查看演示页here。
GitHub提供的代码。
答案 2 :(得分:0)
不确定有多少人仍在寻找这样做的方法。我在当前的应用程序中实现了一个非常简单的方法,并在我的博客上编写了一个关于如何执行此操作的指南。我的方法实际上是我看到的其他3个方法的组合(由于我刚刚开始使用MVC,我现在感觉有点太复杂了)。无论如何,我希望这有助于任何人寻找一种非常简单的方法来做到这一点:
http://www.nfynite.com/2012/04/07/simple-mvc-3-notifications-with-razor-and-jquery/