Интеграция предварительного просмотра редактора форматированного текста MarkItUp с приложением ASP.NET MVC

Я тестирую MarkItUp! редактор форматированного текста в приложении MVC, и все работает отлично, за исключением предварительного просмотра. В настройках (set.js) есть свойство previewParserPath ("путь к вашему BBCode парсер"). Я не совсем уверен, что это ищет с точки зрения правильной интеграции с приложением MVC.

Я считаю, что именно это свойство позволяет отображать текст как HTML, а не [code][/code] и т. д.

В моем контроллере я создал следующее:

[AcceptVerbs(HttpVerbs.Get)]
[ValidateInput(false)]
public String ParseCode(string toBeParsed)
{
    return BBCode.ToHtml(toBeParsed);
}

person RSolberg    schedule 31.01.2010    source источник
comment
Вы пытались установить previewParserPath на /ControllerName/ParseCode?   -  person Omar    schedule 31.01.2010
comment
Нет, нет. Я попробую.   -  person RSolberg    schedule 31.01.2010


Ответы (2)


Просматривая документацию по MarkItUp

previewParserPath string > path Вы можете установить путь вашего собственного синтаксического анализатора для предварительного просмотра результатов языков разметки, отличных от html. Если это свойство установлено, встроенный предварительный просмотр будет переопределен вашим собственным сценарием предварительного просмотра. Используйте ~/ для разметки! корень.

previewParserVar string > default: data Имя переменной, отправленной с содержимым редактора в синтаксический анализатор, определенный выше.

Поэтому я предполагаю, что вы установили previewParserPath в /MyController/ParseCode, где MyController — это контроллер с вашим действием синтаксического анализа. Также установите previewParserVar на toBeParsed

Примечание. Я не уверен, делает ли MarkItUp POST или GET парсеру, поэтому я бы удалил AcceptVerb[HttpVerbs.Get] из вашего действия. Я бы предположил, что он использует POST.

person Omar    schedule 31.01.2010
comment
Сладкий! Я исправил предварительный просмотрParserPath, чтобы использовать / вместо \ выше! - person RSolberg; 01.02.2010

Недавно я столкнулся с этой проблемой и решил просто переопределить нажатие кнопки предварительного просмотра с помощью обработчика jQuery, который захватывает HTML-код предварительного просмотра через AJAX из моего собственного WebMethod и записывает полученный HTML-код в диалоговое окно пользовательского интерфейса jQuery.

person Ben McIntosh    schedule 08.09.2011