4

大约 2 年以来,我一直在为我们的呼叫中心部门工作支持 Web 应用程序。该应用程序是用 ASP.NET 3.5 和 SQL server 2005 数据库编写的。我被要求扩展呼叫详细信息部分,以允许座席编辑当前呼叫记录,并能够恢复到以前的版本。现在,这一切都很酷,但现在经理希望能够单击任何特定的注释并查看所有以黄色突出显示更改的编辑(如果某些内容被删除,他希望看到已删除的文本被划掉)。实际上,我需要的与 Stackoverflow 处理问题编辑的方式非常相似。我一直在考虑如何解决这个问题,当然,在进行了研究和谷歌搜索之后,我仍然不确定该走哪条路。我对 .NET 开发相当陌生。关于突出 UI 变化的最佳技术的任何想法?恐怕每次他们进行更改时我都必须存储整个笔记的副本,因为经理希望能够在发送之前轻松查看笔记并恢复到任何版本(不仅仅是最新版本)每月向我们的 VIP 客户报告电话报告。由于该部门经常改变主意,因此我想确保新功能具有可扩展性且易于维护。任何想法将不胜感激。我真的只是在寻找能指引我正确方向的人;也许有一些有用的工具,谷歌查找中推荐的关键字等。我想确保新功能可扩展且易于维护。任何想法将不胜感激。我真的只是在寻找能指引我正确方向的人;也许有一些有用的工具,谷歌查找中推荐的关键字等。我想确保新功能可扩展且易于维护。任何想法将不胜感激。我真的只是在寻找能指引我正确方向的人;也许有一些有用的工具,谷歌查找中推荐的关键字等。

4

4 回答 4

2

这将很难做到。

  1. 您需要一个“文本编辑器”控件,它不仅可以编辑文本,还可以告诉您进行了哪些更改。
  2. 然后,您不仅需要存储最终文本字符串,还需要存储更改列表
  3. 然后,您需要能够显示文本和更改、使用删除线以及插入与更改的不同颜色
  4. 您不仅需要为单个用户的更改执行此操作,还需要将每个用户的更改存储在数据库中,并且需要能够同时显示所有更改。

你的经理应该非常确定他需要这个。

于 2009-03-06T22:02:48.560 回答
1

可以在任何适合 .NET 的文本差异/合并引擎中找到一些为您进行差异分析的工具?.

这将需要像你说的那样存储每个版本。这应该允许您以类似于 SO 的方式实现它。我似乎记得读过或听过 Jeff 提到它,但没能找到它,可能是在其中一个 SO 播客中。

于 2009-03-06T22:21:55.033 回答
1

最简单的方法是存储每个修订的文本,然后当用户想要查看差异时,使用差异工具生成突出显示的文本。

这是一些 Javascript 差异代码: 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
于 2009-03-07T01:59:18.133 回答
0

我想你应该看看http://en.wikipedia.org/wiki/Revision_control

于 2009-03-06T22:14:59.933 回答