ASP.NET WebControl لعرض المراجعات أو الاختلافات في المحتوى

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

  •  21-08-2019
  •  | 
  •  

سؤال

أرغب في عرض الاختلافات بين إصدارات نفس المحتوى.في البداية قمت بطرح WebControl الخاص بي، ولكن خوارزمية التمييز التي توصلت إليها كانت ساذجة بعض الشيء.

هل يعرف أحد أي كود .Net أو WebControl موجود على الإنترنت قد يكون مفيدًا؟التنفيذ الذي يستخدمه Stackoverflow هو الشيء الذي أبحث عنه على سبيل المثال:

alt text

تحديث:12/12/2008لقد قمت بتجميع تطبيق jsdiff في مجموعة تحكم ويب مستقلة وقمت بتحميله إلى معرض أكواد MSDN تمييز النص وبناء الجملة وتسليط الضوء على ASP.Net WebControls.

تحديث:11/12/2008جاء عبر ما يلي مكتبة جافا سكريبت التفاضلية.سيتم تجربة تغليفه في WebControl مخصص.يبدو الإخراج مشابهًا لذلك الذي يستخدمه Stackoverflow:

alt text

هل كانت مفيدة؟

المحلول

أنا أستخدم js lib الذي ذكرته.

قم بتضمين ملف .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);

في حالتي كان لدي عنصري تحكم يعرضان القيم الأصلية أيضًا، قد ترغب في تضمين السلاسل حرفيًا في الدالة diffString().تعمل وظيفة الاستبدال الإضافية () على تحويل فواصل الأسطر إلى فواصل أسطر HTML.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top