我想显示相同内容版本之间的差异。最初,我推出了自己的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/