ASP.NET WebControl per la visualizzazione di revisioni o differenze di contenuto
-
21-08-2019 - |
Domanda
Vorrei visualizzare le differenze tra le versioni dello stesso contenuto. Inizialmente ho lanciato la mia WebControl, tuttavia l'algoritmo di differenziazione mi è venuta era un po 'ingenuo.
Qualcuno sa di qualsiasi codice .Net o un WebControl là fuori su Internets che potrebbero essere utili? L'implementazione che StackOverflow usi, è solo la cosa che sto cercando per esempio:
Aggiornamento: 12/12/2008 Ho avvolto l'attuazione jsdiff in un gruppo di controllo web autonomo e caricato su MSDN Code Gallery differenziazione Testo e l'evidenziazione della sintassi ASP.Net WebControls .
Aggiornamento: 11/12/2008 Sono imbattuto nel seguente javascript differenziazione biblioteca . Sperimenteranno avvolgendolo in un costume WebControl. L'output è simile a quella utilizzata da StackOverflow:
Soluzione
Io uso i js lib si parla.
Includere il file .js all'interno di un tag script, aggiungere un asp di nome: letterale alla pagina
<asp:Literal ID="litCompare" runat="server">
</asp:Literal>
e aggiungere al code-behind:
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);
Nel mio caso ho avuto 2 controlli che visualizzano i valori originali così, si potrebbe desiderare di includere le stringhe letteralmente nella funzione diffString (). L'ulteriore replace () converte riga \ r \ n rompe in interruzioni di riga HTML.