【问题标题】:Status Notification System for asp.net mvc3 Applicationasp.net mvc3 应用程序的状态通知系统
【发布时间】:2011-11-18 03:10:56
【问题描述】:

我只是想知道如何为asp.net mvc3应用程序实现通知系统,基本上当用户登录到系统时成功登录页面显示消息,如果不是错误消息。

我有一些方法可以解决上述问题,将属性值保留在 viewmodel 上,但是当我们将通知从一个控制器传递到另一个控制器或从一个动作传递到另一个动作时,我不知道如何实现。

比如当我们登录到系统登录成功消息时,从账户控制器到主控制器,并在主页用户登录成功时显示通知消息。

如果您能提供代码示例或解决上述问题的最佳方法,我会很方便。

感谢

附言

这是我正在尝试的一些代码 sn-p

 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");
 }

【问题讨论】:

    标签: c# asp.net asp.net-mvc notifications messages


    【解决方案1】:

    我喜欢使用 purr jQuery 插件

    http://code.google.com/p/jquery-purr/

    如果我想显示一条状态消息,我将它添加到 TempData。 在我的页面底部,我有一个辅助方法,如果它找到一个 TempData["StatusMessage"] 它会调用 purr 来显示它。

    【讨论】:

    • 嗨,亚当,感谢您的回复,但这不是我要找的,我刚刚更新了我的问题。
    • 我发布的内容会按照您所说的那样理解您的问题。
    • TempData 旨在在您的请求(以及操作方法)之间传递信息,而无需指定单独的参数。
    • 但是当我尝试在注册操作中将消息分配给 TempData["message"] 并尝试从登录操作 TempData["message"] 中获取它时给出空值。
    • OK TempData 是满足我需要的最棒的解决方案我为上述需要编写了一个适当的代码感谢提示 Adam Cheerzz..
    【解决方案2】:

    你也可以试试MvcNotification。在GitHub,您可以找到一个示例 ASP.NET MVC 项目,该项目展示了多种通知方式,包括 AJAX 场景。

    MvcNotification 是一个示例应用程序,它显示了不同的方法 显示来自 ASP.NET MVC 控制器操作的通知 不显眼的方式。

    我目前正在使用它,它做得很好......只需注意何时使用正确的方法调用将truefalse 传递给参数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 toast 通知。 toastr 是一个用于非阻塞通知的 Javascript 库。 jQuery 是必须的。目标是创建一个简单的核心库,可以 定制和扩展。

    这么好的 JS 库!

    您可以查看演示页面here

    代码可在GitHub 获得。

    【讨论】:

      【解决方案3】:

      不确定有多少人仍在寻找一种方法来做到这一点。我在我当前的应用程序中实现了一个非常简单的方法来执行此操作,并在我的博客上写了一篇关于如何执行此操作的指南。我的方法实际上是我看到的其他 3 个方法的组合(我现在觉得这对我来说有点太复杂了,因为我刚刚开始使用 MVC)。无论如何,我希望这可以帮助任何正在寻找一种非常简单的方法的人:

      http://www.nfynite.com/2012/04/07/simple-mvc-3-notifications-with-razor-and-jquery/

      【讨论】:

        猜你喜欢
        • 2014-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多