2012-06-07 3 views
1

Я пытаюсь избавиться от файлов HTML приложения и сохранить их содержимое в базе данных. Дело в том, что в этих файлах есть смесь классического кода ASP/VBscript и HTML.Храните смесь ASP VBScript и HTML в базе данных

Так, например, а также регулярных HTML есть такие вещи, как:

Your name is <%=sYourName%> 

и

<% If .... Then %> 
<p>blah blah blah</p> 
<% End If %> 

Когда это получает вытащил из БД и вывод в браузер, ASP/VBScript код не анализируется, поэтому он отображается как обычный текст.

Итак, мой вопрос в том, есть способ сохранить эту смесь ASP/HTML в БД и получить правильный вывод в браузере?

Спасибо!

+2

Как вы извлекаете данные из базы данных для отправки обратно в браузер? Обычно люди используют ASP для запроса данных БД и сборки HTML –

+0

ASP используется для вытаскивания данных из БД, вызывающих хранимые процедуры напрямую. Часть данных (т. Е. Динамический материал) представляет собой XML, преобразованный с использованием XSL в переменную. Эти переменные затем выводятся в HTML, как в приведенном выше примере. – Jimbob

+0

Я бы порекомендовал вам пересмотреть идею, что XSL генерирует ASP (примечание «пример выше» - это __not__ HTML его ASP). Принесите скриптовый аспект в XSL, есть много вариантов, которые помогут вам в этом. Собственный (но ограниченный) «контроль потока» XSL, MSXML позволяет использовать код сценария, такой как VBScript, который должен быть встроен в XSL для предоставления функций, которые выполняют более сложные задачи. MSXML также позволяет внешним пространствам имен ссылаться на functiosn, определенные снаружи на XSL. – AnthonyWJones

ответ

1

Прежде всего позвольте мне предостеречь от не делаем этого.

ASP требует файл, из которого следует обрабатывать ASP-скрипт, нет способа прочитать текст из БД, а затем выполнить его как сценарий ASP напрямую.

Однако вы можете прочитать текст из БД и записать его во временный файл под физической папкой вашего веб-сайта, затем пользователю Server.Execute, чтобы запустить его. (РЕДАКТИРОВАТЬ или, если у вас есть пояснения в комментариях к вопросу, у вас может быть выход XSL в файл, и сервер выполнит этот файл).

Это говорит, что это кажется безумным делом. Вредность самого вредоносного использования делает его неразумным. Я также не уверен в том, какая польза от этого заключается в том, чтобы с самого начала иметь физические файлы.

+0

+1 Я согласен с Энтони в том, что это кажется довольно странным делом, не поймите меня неправильно, ваша страница обслуживания asp может анализировать asp из SQL с помощью таких методов, как eval() и Execute(), но вы можете просто сгибать и прошу прощения на волне - Только причина, по которой я могу думать, что это какая-то CMS? (т. е. phpfusion с открытым исходным кодом позволяет хранить php в базе данных, но только администраторы имеют доступ к изменению этой информации - все же очень рискованно, если вы не доверяете всем своим админам/авторам контента на 100%). – HeavenCore

+0

@HeavenCore: Eval и Execute будут работать только на чистом VBScript, вы не сможете использовать их в коде, который содержит HTML-контент. – AnthonyWJones

+0

Спасибо Anthony - это в значительной степени то, чего я ожидал от того, что я прочитал, но задавался вопросом, есть ли другой вариант, который я не нашел (это безопасно и не требует записи в файлы temp). – Jimbob

Смежные вопросы