我想显示相同内容版本之间的差异。最初,我推出了自己的WebControl,但是想出的差分算法有些幼稚。

有人知道互联网上可能有用的任何.Net代码或WebControl吗? stackoverflow使用的实现只是我在寻找的东西,例如:



更新:2008年12月12日
我已经将jsdiff实现包装到一个独立的Web控件程序集中,并将其上传到MSDN Code Gallery Text differencing and syntax highlighting ASP.Net WebControls

更新:11/12/2008
遇到以下javascript differencing library。将尝试将其包装在自定义WebControl中。输出看起来类似于stackoverflow所使用的输出:

最佳答案

我使用您提到的js库。

将.js文件包含在脚本标记中,然后将一个名为asp:Literal的页面添加到页面中

<asp:Literal ID="litCompare" runat="server">
</asp:Literal>


并添加到后面的代码中:

litComparison.Text = "<pre id=\"lbDiffPre\" class=\"code\"> </pre>";
ClientScript.RegisterStartupScript(GetType(), "calccompare",
    @"document.getElementById('lbDiffPre').innerHTML =
    diffString(document.getElementById('" + edit1.ClientID + "').value,
        document.getElementById('" + edit2.ClientID + "').value).
        replace(/\r\n/g, '<br>';", true);


在我的情况下,我有2个控件也显示原始值,您可能希望将字符串实际包含在diffString()函数中。附加的replace()将\ r \ n换行符转换为HTML换行符。

关于asp.net - ASP.NET WebControl用于显示修订或内容差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/359214/

10-13 08:46