我们有MVC应用程序。我们要求用户更改页面上的任何数据并尝试离开页面而不保存,然后我们需要显示一些“你确定吗?”有点消息。
这里的挑战是如何识别数据的变化?我们的典型设计模式如下
public class MyController:Controller
{
public ActionResult Index()
{
var model = LoadModelFromDB();
return View(model);
}
}
然后我们使用Html帮助扩展方法将模型绑定到视图 在客户端,如何在将数据提交到服务器之前识别模型是否脏?
答案 0 :(得分:0)
这是一个完全在客户端上发生的操作 - 它与MVC中的Model无关。
您可以通过使用JavaScript将事件处理程序附加到onbeforeunload
event,并提供一些额外的逻辑来测试表单元素以进行更改来实现此目的。
我为一个开源项目做出了贡献,它有助于修复浏览器之间的差异,以及监视更改的表单元素,允许插入不同的对话框架,并将其包装成一个名为jQuery的好插件Dirty Forms