0

这是一个使用 razor 的 MVC3 项目。我不想显示另一个视图来通知用户更改已成功保存,我只想简单地触发一个 JavaScript 弹出窗口来通知他们......我在网络上找到的所有内容要么打开一个全新的浏览器窗口,要么错过了我的内容试图一起完成所有事情......我知道有一种更简单的方法可以做到这一点,但这就是我所在的地方......在返回时保存的控制器函数结束时,我只需使用重定向并发送它到另一个控制器功能,该功能显示一个屏幕显示“更改已成功保存”,然后用户单击那里的一个按钮,将它们带回索引页面...... IMO 这有点糟糕,认为它可以通过清理使用Javascript...我还没有找到任何运气..

 Function SomeFunctionName()
       db.SaveChanges()
       Return RedirectToAction(ChangesSaved)
 End Function

 Function ChangesSaved()
       Return View()
 End Function

以及我在ChangesSaved视图中实现的 javascript。

@Code
ViewData("Title") = "ChangesSaved"
End Code
<script type="text/javascript">
      alert("Changes Have Been Saved Successfully");
</script>

虽然这有一些问题......

JavaScript

我如何告诉 javascript 当用户单击“确定”时,它应该将他们带到另一个页面。

我只是尝试了以下方法,因为我对 java/javascript 很陌生,所以它失败了:

  var r=alert("Changes Have Been Saved Successfully");
if (r == true) {
@html.Action("***********","Admin")
}
4

1 回答 1

2

如果我是你,我会使用 Jquery 发布你的表单。然后你可以设置一个回调。在 Mvc 中,您可以返回 JSON 数据,一个简单的值表明保存工作就足够了。然后您可以调用警报,尽管您可能会考虑使用 jQuery UI 对话框,因为它更灵活。如果您从未使用过 jQuery,我不会害怕,它很简单,并且有很多很棒的例子。

看看这个http://api.jquery.com/jQuery.post/和这个返回 JSON 或部分 html 的 ASP.NET MVC 控制器操作

于 2012-12-27T20:09:52.793 回答