Как можно включить файл .asp в файл html и обработать его, помимо необходимости обрабатывать все файлы html с помощью asp.






Я не совсем понимаю, о чем вы спрашиваете. Если вы пытаетесь включить файл .asp в файл .html, я не верю, что это возможно. Если вы измените расширение файла на .shtml, вы можете поместить в HTML-файл следующую строку:
<!--#include virtual = "path to asp file/include-file.asp" -->
Теперь вопрос о том, будет ли анализироваться ASP или отображаться код, должен решать кто-то, кто разбирается в парсинге сервера лучше меня.
Лучшим решением было бы просто включить файл ASP в другой файл ASP. Если вам нужна такая функциональность, как включение страниц, то предоставление вашим файлам расширений .html или .shtml только усложнит выполнение того, что вы пытаетесь.
В основном, используйте .asp для файлов, которые вы хотите проанализировать, и .html для файлов, которые могут быть предоставлены пользователю как есть.
Есть способ обойти это, заставив IIS анализировать html-файлы как asp, но это влияет на производительность сервера, так как все файлы с include или без него должны быть проанализированы, поэтому я пытаюсь найти способ обойти это.
вы можете использовать тег IFRAME ... но это немного отстой. Я бы сделал то, что говорит Призрачный Ватсон.
Я думаю, что это, наверное, лучший вариант на данный момент.
Вы можете изменить исполняемые расширения, поэтому, если хотите, вы можете сделать .html исполняемым файлом, чтобы вы могли включать файл или делать что-нибудь еще .. Перейдите в диспетчер IIS (run-> inetmgr), выберите свойства вашего сайта на вкладке ' Домашний каталог 'нажмите' Конфигурация .. '. Вы можете добавить туда расширение и исполняемый файл (вы можете вставить то же, что и в .asp)
Но я не думаю, что это лучший выбор :) если он exetutable, это должен быть .asp, если нет - html
Одно из возможных решений - изменить расширение вашей страницы с .html на .asp, поскольку это не повлияет на вашу страницу и ее выполнение. Затем вы можете включить файл .asp в обычном режиме, как мы включаем его в файлы .asp.
Я знаю, что это старый вопрос, но для тех, кто интересуется, есть решение, если вы правильно его кодируете, я понял, как это сделать, с некоторым тестированием, которое я сделал. У меня есть рабочая закодированная версия, поэтому я точно знаю, что она работает, но я попытаюсь объяснить ее.
Допустим, у вас есть верхний колонтитул, панель навигации или нижний колонтитул (обычное место года / информации об авторских правах, которые Борис упомянул в одном из своих комментариев). Тем не менее, вы не хотите изменять расширение файла .html / .htm для многих из этих файлов из-за задействованных ссылок и наличия ссылок на ваш веб-сайт с других сайтов.
Хотя для Бориса это всего лишь нижний колонтитул каждого файла, простой способ сделать это - поместить следующее в свои html-файлы, где бы вы ни размещали код нижнего колонтитула.
<script type = "text/javascript" src = "Footer.asp"></script>
Это была первая часть, в следующей части используется JavaScript в ASP-файле нижнего колонтитула, например:
var Code ='';
Code+='your html here';
Code+='more html here if needed';
document.write(Code);
Вы даже можете поместить функции над var, и эти функции будут работать с тем, что у вас есть в: Code+='your html here';. Теперь в этом фрагменте кода у вас может быть, например, что-то вроде: Code+='<form id = "UserSignUp" name = "UserSignUp" method = "post" action = "AddUser.asp">';, и вы можете сказать, например, добавить пользователей в базу данных.
Но в случае с Борисом это год авторских прав, поэтому в том же файле Footer.asp у вас есть несколько вариантов. В Code+='your html here'; вы можете использовать созданный / найденный вами код, который обновляет его год за годом, или вы можете вручную обновлять его один раз в год только для этого одного файла.
Тем не менее, возникает вопрос, почему вы не используете JavaScript в первую очередь в течение года действия авторских прав с document.write(); в файле Footer.js вместо этого. Если код года вашего авторского права не находится в ASP?
В этом случае в этом файле Footer.asp над функциями JavaScript просто добавьте свой код ASP, например, rsYear("CopyrightYear") = Now, вместе с остальным кодом ASP, который может вам понадобиться.
В JavaScript добавьте что-нибудь вроде:
Code+='<script>document.write("Copyright: <%=rsYear("CopyrightYear")%>");</script>';
Проблема в том, что на сайте есть много старых html-файлов, которым необходимо обновить год защиты авторских прав. Идея состоит в том, чтобы автоматизировать это, не перескакивая через переименования файлов и ссылок, которые ссылаются на них. Они уже ссылаются на обычный включаемый файл, но он может включать только статический контент.