Question

Je voudrais afficher les différences entre les versions du même contenu. Au départ, je roulais mon propre WebControl, mais l'algorithme de differentiation je suis venu avec était un peu naïve.

Quelqu'un sait-il de tout code .Net ou un WebControl là-bas sur les Internets qui pourraient être utiles? La mise en œuvre que Stackoverflow utilisations, est juste la chose que je cherche par exemple:

text alt

Mise à jour: 12/12/2008 J'ai Enveloppez la mise en œuvre de jsdiff dans un ensemble de commande Web autonome et téléchargé sur MSDN Code Gallery Texte differentiation et la coloration syntaxique ASP.Net WebControls .

Mise à jour: 11/12/2008 Nous sommes tombés sur le javascript bibliothèque différentiateur. Expérimenteront l'enveloppant dans une coutume WebControl. La sortie est similaire à celui utilisé par stackoverflow:

text alt

Était-ce utile?

La solution

J'utilise le js lib que vous mentionnez.

Inclure le fichier .js dans une balise de script, ajoutez un nom asp: Literal à la page

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

et ajouter au 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);

Dans mon cas, j'avais 2 commandes qui affichent les valeurs d'origine aussi bien, vous pouvez inclure les chaînes littéralement dans la fonction diffString (). Le plus remplacer () convertit la ligne \ r \ n se casse en sauts de ligne HTML.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top