ASP.NET WebControl para la visualización de las revisiones o las diferencias de contenido

StackOverflow https://stackoverflow.com/questions/359214

  •  21-08-2019
  •  | 
  •  

Pregunta

Me gustaría mostrar las diferencias entre las versiones de un mismo contenido. Inicialmente Rodé mi propia WebControl, sin embargo, el algoritmo de diferenciación que se me ocurrió fue un poco ingenuo.

¿Alguien sabe de cualquier código .Net o una WebControl que hay en la Internets que podrían ser de utilidad? La implementación que Stackoverflow usos, es justo lo que estoy buscando por ejemplo:

text alt

Actualización: 12/12/2008 Me he envuelto la implementación jsdiff en un conjunto de control web independiente y subido a la galería de código de MSDN de diferenciación de texto y resaltado de sintaxis ASP.Net WebControls .

Actualización: 11/12/2008 Se encontró con la siguiente Javascript diferenciación biblioteca . Experimentará envolviéndolo en una costumbre WebControl. La salida es similar a la utilizada por stackoverflow:

text alt

¿Fue útil?

Solución

Yo uso el js lib mencionas.

Incluya el archivo .js dentro de una etiqueta de script, añadir un ASP denominada: Literal a la página

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

y añadir al código subyacente:

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);

En mi caso tuve 2 controles que muestran los valores originales, así, es posible que desee incluir las cuerdas, literalmente, en la función diffString (). La sustitución adicional () convierte \ r \ n saltos de línea en los saltos de línea HTML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top