如何通知用户操作成功?

时间:2010-08-03 21:43:18

标签: asp.net-mvc

从这个blog by Stephen Walther读取,我想将我的创建视图发布到我的插入操作。

Stephen建议在我的插入操作完成后,将用户重定向到另一个操作。我想我可以将它们重定向到他们刚刚创建的对象的Detail视图,但我很想知道是否有其他策略让用户知道他们成功提交了一个有效对象,并且该对象已保存到我的数据库中

具体来说,我想让用户知道他们刚刚做了什么,并且还防止刷新页面尝试重新发布数据。理想情况下,我可以在没有中间页面的情况下这样做。是否存在交叉请求ViewData,我可以将此消息填入?类似的东西?

3 个答案:

答案 0 :(得分:1)

您可以使用TempData,为此,在将用户重定向到另一个操作(比如再次索引操作)后,TempData将可用

TempData["userMsg"] = "Product Created";
RedirectTo("List", "Products");

答案 1 :(得分:1)

就像@Rafael所说,你可以将你的信息放在TempData集合中。然后在您要访问的页面上,添加JBar并让它显示一条消息。

<% 
var message = TempData["UserMessage"];
if(message != null)
{%>
    <script>
        $(function(){
            $.bar({message: "<%: message %>"});
        });
    </script>
%<}%>

我有一个customized version的JBar可以很好地适用于这种情况(它不需要点击按钮)。另外,为了保持这个解决方案的通用性,我实际上将上面的代码放在你的母版页上。

答案 2 :(得分:1)

我大约一个月前问了一个类似的问题并得到了一些好的回答:

What is the recommended approach to providing user notification confirmations

简而言之,您可能需要考虑使用HtmlExtensions,这对处理用户更新和通知非常有用。

希望这有帮助

相关问题