2016-01-25 5 views
0

Я использую редактор tinyMCE. В коде у меня есть функция с именем getPhone(), возвращающая строка зависит от Url. Итак, в TinyMCE я добавил исходный код следующим образом: <div>@(Client.Helpers.Functions.getPhone())</div>. Я хотел, чтобы этот код отображал возвращаемое значение от getPhone(). К сожалению, это визуализируется на строку, а не на код C#. поэтому на веб-сайте вы можете увидеть это как текст: @ (Client.Helpers.Functions.getPhone()), знает ли кто-нибудь почему?Использование C# в TinyMCE

ответ

0

Вы имеете в виду под «@ (...)» в качестве стандартного встроенного кода C# (т. Е. <% =%>)? Если это так, помните, что, когда ASP.Net создает вашу страницу, он помещает различный контент в соответствующие позиции на странице из исходных данных. Это означает, что ваши коды на C#, представленные в Tiny Editor, НЕ будут распознаны для рендеринга Html во время рендеринга.

Чтобы решить эту проблему, вы должны иметь 2 варианта:

1) Предположим, пользовательские фразы для телефона, как «[PHONE]» и найти эту фразу в любой текст, который вытянут из БД и заменить соответствующий телефонный номер на основе вашей логики

или

2) Расширение TinyMCE Javascript Lib и добавить пользовательскую кнопку, которая вставляет блок сценария и метку в позиции курсора в редакторе. Сценарий выполняет обратный вызов на сервере и вызывает метод getPhone() и помещает результат в упомянутый, учитывая уникальный идентификатор для всего процесса!