我在呼叫中心部门工作的Web应用程序已经支持了大约2年了。该应用程序是使用SQL Server 2005数据库在ASP.NET 3.5中编写的。我被要求扩展通话详细信息部分,以允许座席编辑当前的通话记录,并能够恢复到之前的版本。现在,这一切都很酷但现在经理希望能够点击任何特定的音符并查看所有带黄色突出显示的更改的编辑(如果删除了某些内容,他希望查看删除的文本划掉)。实际上,我需要的东西与Stackoverflow处理问题编辑的方式非常相似。我一直在考虑如何解决这个问题,在进行研究和Google-ing之后,我当然还不确定要走哪条路线。我是.NET开发的新手。关于突出UI变化的最佳技术的任何想法?我担心每次更改时都要存储整个笔记的副本,因为经理希望能够轻松查看笔记并在发送之前恢复到任何版本(不仅仅是最新版本)。每月电话报告给我们的VIP客户。由于OFTEN部门改变了对事物的看法,我想确保新功能可扩展且易于维护。任何想法将不胜感激。我真的只是想找人指点我正确的方向;也许有一些工具可以在谷歌查找中使用有用的推荐关键词等。
答案 0 :(得分:2)
这将很难做到。
你的经理应该确实确定他需要这个。
答案 1 :(得分:1)
可以在Any decent text diff/merge engine for .NET?找到一些为您做差异的工具。
这需要像你说的那样存储每个版本。这应该允许您以类似于SO的方式实现它。我似乎记得读过或听过杰夫提到它,但无法找到它,可能是在其中一个SO播客中。
答案 2 :(得分:1)
最简单的方法是存储每个修订版本的文本,然后当用户想要查看差异时,使用diff工具生成突出显示的文本。
这是一些Javascript diff代码: http://ejohn.org/projects/javascript-diff-algorithm/
如果所有计算机都安装了Word,您可以使用Word控件来完成此操作。 TortoiseSVN在其程序目录中有脚本,可以获取两个word文档并生成一个突出显示更改的文档。要看到这个创建c:\ aaa.doc和bbb.doc,然后安装TortoiseSVN并运行:
wscript.exe "C:\program files\tortoisesvn\Diff-Scripts\diff-doc.js" c:\aaa.doc c:\bbb.doc //E:javascript
答案 3 :(得分:0)