使用ASP.NET MVC4和Knockout进行字段级更改跟踪

TNC*_*key 1 asp.net-mvc knockout.js knockout-mvc kolite

想知道是否有人有跟踪现场级变更跟踪的经验?我们正在努力辨别最终用户跟踪任何和所有模型修改的最简单/最佳方式.我正在使用ASP.NET MVC4,Knockout和Knockout Editables.

更新:由于跟踪功能的要求,仅检测对象是否脏是不够的,因为我需要确定已更改的内容和值.我选择使用for循环来迭代模型属性,使用KO Editables.hasChanges()函数检测更改,并使用当前值和.oldValue()(KO Editable)构建自定义日志对象.

小智 8

既然你提到了使用KnockoutJS实现更改跟踪的最简单和最好的方法,我建议看看John Papa最近在Pluralsight的单页应用课程中实现了什么.您可以阅读有关更改跟踪的博客文章(底部链接)以获取更多信息.

它的主旨是:他和HansFjällemark以及Steve Sanderson(KnockoutJS创建者)和Ryan Niemeyer(KnockoutJS核心贡献者)的提示创建了一个自定义更改跟踪工具DirtyFlag.DirtyFlag作为KoLite库的一部分提供,可以从github或NuGet:Install-Package KoLite下载.

博客文章包含启动和运行所需的所有步骤:

http://www.johnpapa.net/spapost10/