Я использую редактор tinyMCE. В коде у меня есть функция с именем getPhone()
, возвращающая строка зависит от Url. Итак, в TinyMCE я добавил исходный код следующим образом: <div>@(Client.Helpers.Functions.getPhone())</div>
. Я хотел, чтобы этот код отображал возвращаемое значение от getPhone()
. К сожалению, это визуализируется на строку, а не на код C#. поэтому на веб-сайте вы можете увидеть это как текст: @ (Client.Helpers.Functions.getPhone()), знает ли кто-нибудь почему?Использование C# в TinyMCE
ответ
Вы имеете в виду под «@ (...)» в качестве стандартного встроенного кода C# (т. Е. <% =%>)? Если это так, помните, что, когда ASP.Net создает вашу страницу, он помещает различный контент в соответствующие позиции на странице из исходных данных. Это означает, что ваши коды на C#, представленные в Tiny Editor, НЕ будут распознаны для рендеринга Html во время рендеринга.
Чтобы решить эту проблему, вы должны иметь 2 варианта:
1) Предположим, пользовательские фразы для телефона, как «[PHONE]» и найти эту фразу в любой текст, который вытянут из БД и заменить соответствующий телефонный номер на основе вашей логики
или
2) Расширение TinyMCE Javascript Lib и добавить пользовательскую кнопку, которая вставляет блок сценария и метку в позиции курсора в редакторе. Сценарий выполняет обратный вызов на сервере и вызывает метод getPhone() и помещает результат в упомянутый, учитывая уникальный идентификатор для всего процесса!