دمج Markitup Rich Text Editor معاينة مع تطبيق ASP.NET MVC
-
24-09-2019 - |
سؤال
أنا أختبر مميز! معالج النصوص في تطبيق MVC ، وكل شيء يعمل بشكل رائع باستثناء المعاينة. في الإعدادات (set.js) ، هناك أ previewParserPath
الخاصية ("الطريق إلى الخاص بك BBCode محلل "). لست متأكدًا تمامًا مما يبحث عنه هذا من حيث التكامل المناسب مع تطبيق MVC.
أعتقد أن هذه الخاصية هي ما يسمح بتقديم النص ليظهر كـ HTML بدلاً من [code][/code]
إلخ.
في وحدة التحكم الخاصة بي ، قمت بإنشاء ما يلي:
[AcceptVerbs(HttpVerbs.Get)]
[ValidateInput(false)]
public String ParseCode(string toBeParsed)
{
return BBCode.ToHtml(toBeParsed);
}
المحلول
النظر إلى العلامات توثيق
معاينة PareParserPath> المسار يمكنك تعيين مسار من المحلل الخاص بك لمعاينة نتيجة التمييز لانغسات غير HTML. إذا تم تعيين هذه الخاصية ، فسيتم تجاوز المعاينة المدمجة بواسطة البرنامج النصي الخاص بك المعاينة. استخدام ~/ للتمييز! جذر.
معاينة PareParservar> الافتراضي: اسم بيانات VAR المنشور مع محتوى المحرر إلى المحلل المحدد أعلاه.
لذلك أفترض أنك ضبطت previewParserPath
ل /MyController/ParseCode
أين MyController
هو وحدة التحكم مع إجراء التحليل الخاص بك. أيضا ، مجموعة previewParserVar
ل toBeParsed
ملاحظة: لست متأكدًا مما إذا كان Markitup يفعل POST
أو GET
إلى المحلل ، لذلك أود إزالة AcceptVerb[HttpVerbs.Get]
من عملك. سأفترض أنه يستخدم POST
رغم ذلك.
نصائح أخرى
لقد واجهت هذه المشكلة مؤخرًا وقررت فقط تجاوز زر المعاينة ، انقر فوق معالج jQuery الذي يمسك بالمعاينة HTML عبر Ajax من webmethod الخاص بي ويكتب HTML الناتج إلى مربع حوار jQuery UI.