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:

alt text

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:

alt text

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top